summaryrefslogtreecommitdiffstats
path: root/mandriva/2010.2/dependencies/pinentry/0003-pinentry-gtk-x11-race.patch
diff options
context:
space:
mode:
Diffstat (limited to 'mandriva/2010.2/dependencies/pinentry/0003-pinentry-gtk-x11-race.patch')
-rw-r--r--mandriva/2010.2/dependencies/pinentry/0003-pinentry-gtk-x11-race.patch17
1 files changed, 17 insertions, 0 deletions
diff --git a/mandriva/2010.2/dependencies/pinentry/0003-pinentry-gtk-x11-race.patch b/mandriva/2010.2/dependencies/pinentry/0003-pinentry-gtk-x11-race.patch
new file mode 100644
index 000000000..86bca6ae9
--- /dev/null
+++ b/mandriva/2010.2/dependencies/pinentry/0003-pinentry-gtk-x11-race.patch
@@ -0,0 +1,17 @@
+Index: gtk+-2/pinentry-gtk-2.c
+===================================================================
+--- gtk+-2/pinentry-gtk-2.c
++++ gtk+-2/pinentry-gtk-2.c 2010-05-13 08:17:10.000000000 +0200
+@@ -306,8 +306,11 @@
+ g_signal_connect (G_OBJECT (win),
+ "realize", G_CALLBACK (make_transient), NULL);
+
++ //we need to grab the keyboard when its visible! not when its mapped (there is a difference)
++ g_object_set(G_OBJECT(win), "events", GDK_VISIBILITY_NOTIFY_MASK | GDK_STRUCTURE_MASK, NULL);
++
+ g_signal_connect (G_OBJECT (win),
+- pinentry->grab ? "map-event" : "focus-in-event",
++ pinentry->grab ? "visibility-notify-event" : "focus-in-event",
+ G_CALLBACK (grab_keyboard), NULL);
+ g_signal_connect (G_OBJECT (win),
+ pinentry->grab ? "unmap-event" : "focus-out-event",