Make the gui more thread safe
[pspp-builds.git] / src / ui / gui / message-dialog.c
index 866f8c6d91f1065762ba0a636291c255bd05c67a..81c08f8cd95a3455c8cff37c657795cdf2ba9fac 100644 (file)
@@ -192,6 +192,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;
@@ -204,6 +206,7 @@ popup_messages (gpointer unused UNUSED)
     {
       ds_destroy (&lead);
       ds_destroy (&msg);
+      gdk_threads_leave ();
       return TRUE;
     }
 
@@ -266,6 +269,7 @@ popup_messages (gpointer unused UNUSED)
   ds_destroy (&lead);
   ds_destroy (&msg);
 
+  gdk_threads_leave ();
   return FALSE;
 
 use_fallback:
@@ -274,6 +278,7 @@ use_fallback:
   fputs (ds_cstr (&msg), stderr);
   ds_destroy (&lead);
   ds_destroy (&msg);
+  gdk_threads_leave ();
   return FALSE;
 }