X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fmessage-dialog.c;h=7513295323988677b38c26807cff73b96d10b04a;hb=b5c82cc9aabe7e641011130240ae1b2e84348e23;hp=d0f02dfaddef54f32b3c3fd9088fd8e7a7738fc0;hpb=2165f59ab9eee5272b4037e45477811627cae078;p=pspp-builds.git diff --git a/src/ui/gui/message-dialog.c b/src/ui/gui/message-dialog.c index d0f02dfa..75132953 100644 --- a/src/ui/gui/message-dialog.c +++ b/src/ui/gui/message-dialog.c @@ -31,7 +31,6 @@ #include -#include #include #include "helper.h" @@ -49,7 +48,7 @@ static GQueue *late_queue; static int error_cnt, warning_cnt, note_cnt; -static GladeXML *message_xml; +static GtkBuilder *message_xml; static GtkWidget *message_dialog; void @@ -60,8 +59,12 @@ message_dialog_init (struct source_stream *ss) late_queue = g_queue_new (); error_cnt = warning_cnt = note_cnt = 0; msg_init (ss, enqueue_msg); - message_xml = XML_NEW ("message-dialog.glade"); + message_xml = builder_new ("message-dialog.ui"); message_dialog = get_widget_assert (message_xml, "message-dialog"); + + GTK_WIDGET_SET_FLAGS (get_widget_assert (message_xml, "close-button"), + GTK_CAN_DEFAULT); + } void @@ -193,6 +196,8 @@ popup_messages (gpointer unused UNUSED) struct string msg = DS_EMPTY_INITIALIZER; int message_cnt; + gdk_threads_enter (); + /* Set up the dialog. */ if (message_xml == NULL || message_dialog == NULL) goto use_fallback; @@ -205,6 +210,7 @@ popup_messages (gpointer unused UNUSED) { ds_destroy (&lead); ds_destroy (&msg); + gdk_threads_leave (); return TRUE; } @@ -260,6 +266,7 @@ popup_messages (gpointer unused UNUSED) goto use_fallback; gtk_text_view_set_buffer (text_view, text_buffer); + gtk_widget_grab_default (get_widget_assert (message_xml, "close-button")); gtk_widget_grab_focus (get_widget_assert (message_xml, "close-button")); gtk_dialog_run ( GTK_DIALOG (message_dialog)); gtk_widget_hide (message_dialog); @@ -267,6 +274,7 @@ popup_messages (gpointer unused UNUSED) ds_destroy (&lead); ds_destroy (&msg); + gdk_threads_leave (); return FALSE; use_fallback: @@ -275,6 +283,7 @@ use_fallback: fputs (ds_cstr (&msg), stderr); ds_destroy (&lead); ds_destroy (&msg); + gdk_threads_leave (); return FALSE; }