[gtk+] GtkApplication: lock gdk on incoming messages



commit 363c2d684c3810e5995b1ce44e8bdc0751d9de7b
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]