[gtk+/wip/gmenu] GtkApplication: lock gdk on incoming messages



commit 12b2669ac518b69dfe62f1609c59ff3c5bed14af
Author: Ryan Lortie <desrt desrt ca>
Date:   Sat Dec 17 01:00:38 2011 -0500

    GtkApplication: lock gdk on incoming messages
    
    When we have incoming activations or action invocations we should
    acquire the GDK lock, just in case the program in question is using gdk
    threads.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=665737

 gtk/gtkapplication.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkapplication.c b/gtk/gtkapplication.c
index 1b5f2a6..307ee6f 100644
--- a/gtk/gtkapplication.c
+++ b/gtk/gtkapplication.c
@@ -322,6 +322,8 @@ gtk_application_before_emit (GApplication *application,
   const gchar *key;
   GVariant *value;
 
+  gdk_threads_enter ();
+
   g_variant_iter_init (&iter, platform_data);
   while (g_variant_iter_loop (&iter, "{&sv}", &key, &value))
     {
@@ -345,6 +347,8 @@ gtk_application_after_emit (GApplication *application,
                             GVariant     *platform_data)
 {
   gdk_notify_startup_complete ();
+
+  gdk_threads_leave ();
 }
 
 static void



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]