aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-gnome/gtk+/gtk+-2.20.1/gtk-dnd-grab-deadlock-fix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe/recipes-gnome/gtk+/gtk+-2.20.1/gtk-dnd-grab-deadlock-fix.patch')
-rw-r--r--meta-oe/recipes-gnome/gtk+/gtk+-2.20.1/gtk-dnd-grab-deadlock-fix.patch24
1 files changed, 24 insertions, 0 deletions
diff --git a/meta-oe/recipes-gnome/gtk+/gtk+-2.20.1/gtk-dnd-grab-deadlock-fix.patch b/meta-oe/recipes-gnome/gtk+/gtk+-2.20.1/gtk-dnd-grab-deadlock-fix.patch
new file mode 100644
index 0000000000..10e84d3bac
--- /dev/null
+++ b/meta-oe/recipes-gnome/gtk+/gtk+-2.20.1/gtk-dnd-grab-deadlock-fix.patch
@@ -0,0 +1,24 @@
+commit 96c731cc2dde8a3e4ba542eca4c87ed6154084d2
+Author: Stanislav Brabec <sbrabec@suse.cz>
+Date: Fri Jul 9 15:11:15 2010 +0200
+
+ Fix pointer grab dead lock if gtk_drag_begin uses GDK_CURRENT_TIME and
+ release happens before getting grab.
+
+ For more see https://bugzilla.gnome.org/show_bug.cgi?id=623865
+
+diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c
+index a0d878d..48063a5 100644
+--- a/gtk/gtkdnd.c
++++ b/gtk/gtkdnd.c
+@@ -4065,6 +4065,10 @@ gtk_drag_end (GtkDragSourceInfo *info, guint32 time)
+ pointer = gdk_drag_context_get_device (info->context);
+ keyboard = gdk_device_get_associated_device (pointer);
+
++ /* Prevent grab after release (see bug 623865) */
++ if (info->grab_time == GDK_CURRENT_TIME)
++ time = GDK_CURRENT_TIME;
++
+ if (info->update_idle)
+ {
+ g_source_remove (info->update_idle);