summaryrefslogtreecommitdiffstats
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 000000000..10e84d3ba
--- /dev/null
+++ b/meta-oe/recipes-gnome/gtk+/gtk+-2.20.1/gtk-dnd-grab-deadlock-fix.patch
@@ -0,0 +1,24 @@
1commit 96c731cc2dde8a3e4ba542eca4c87ed6154084d2
2Author: Stanislav Brabec <sbrabec@suse.cz>
3Date: Fri Jul 9 15:11:15 2010 +0200
4
5 Fix pointer grab dead lock if gtk_drag_begin uses GDK_CURRENT_TIME and
6 release happens before getting grab.
7
8 For more see https://bugzilla.gnome.org/show_bug.cgi?id=623865
9
10diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c
11index a0d878d..48063a5 100644
12--- a/gtk/gtkdnd.c
13+++ b/gtk/gtkdnd.c
14@@ -4065,6 +4065,10 @@ gtk_drag_end (GtkDragSourceInfo *info, guint32 time)
15 pointer = gdk_drag_context_get_device (info->context);
16 keyboard = gdk_device_get_associated_device (pointer);
17
18+ /* Prevent grab after release (see bug 623865) */
19+ if (info->grab_time == GDK_CURRENT_TIME)
20+ time = GDK_CURRENT_TIME;
21+
22 if (info->update_idle)
23 {
24 g_source_remove (info->update_idle);