Здравствуйте! Ниже приведён фрагмент кода, выводящего окошко gtk_message_dialog:
#include <gtk/gtk.h>
int main(int argc, char** argv)
{
  gtk_init(&argc, &argv);
  GtkWidget* dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_DESTROY_WITH_PARENT, 
                                     GTK_MESSAGE_ERROR, 
                                     GTK_BUTTONS_CLOSE, 
                                     "Error loading file", NULL);
  g_signal_connect(dialog, "response", G_CALLBACK(gtk_main_quit), NULL);
  gtk_widget_show_all(GTK_WIDGET(dialog));
  gtk_main();
  gtk_widget_destroy(dialog);
  return 0;
}
Вышедшее окно корректно закрывается по нажатию на кнопку CLOSE, но при нажатии на крестик в верхнем углу выдаёт ошибку:
Gtk-CRITICAL **: gtk_widget_destroy: assertion `GTK_IS_WIDGET (widget)' failed
g_signal_connect(dialog, "destroy", G_CALLBACK(gtk_main_quit), NULL);
Как сделать корректное закрытие по крестику?
