diff options
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.patch | 24 |
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 @@ | |||
1 | commit 96c731cc2dde8a3e4ba542eca4c87ed6154084d2 | ||
2 | Author: Stanislav Brabec <sbrabec@suse.cz> | ||
3 | Date: 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 | |||
10 | diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c | ||
11 | index 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); | ||