summaryrefslogtreecommitdiffstats
path: root/mandriva/2010.2/dependencies/pinentry/0001-Fix-pinentry-gtk-2-SIGSEGV-when-unfocusing-with-g-ar.patch
blob: 353759bce7286bd768b33b93c867aac1faae5c98 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
From 977d49018cebcc37d0b667713ad422f80ba9c8d2 Mon Sep 17 00:00:00 2001
From: Stanislav Ochotnicky <sochotnicky@redhat.com>
Date: Fri, 16 Apr 2010 16:17:04 +0200
Subject: [PATCH] Fix pinentry-gtk-2 SIGSEGV when unfocusing with -g argument

gdk_window_set_transient_for cannot be used with parent = NULL to
unset transient hint (unlike gtk_ version which can). Replacement
code is taken from gtk_window_transient_parent_unrealized

Applied cleanly at least over 0.8.0 and 0.7.6

More info see: https://bugzilla.redhat.com/show_bug.cgi?id=520236
---
 gtk+-2/pinentry-gtk-2.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/gtk+-2/pinentry-gtk-2.c b/gtk+-2/pinentry-gtk-2.c
index 7cd7616..fdd5822 100644
--- a/gtk+-2/pinentry-gtk-2.c
+++ b/gtk+-2/pinentry-gtk-2.c
@@ -145,7 +145,8 @@ ungrab_keyboard (GtkWidget *win, GdkEvent *event, gpointer data)
 {
   gdk_keyboard_ungrab (gdk_event_get_time (event));
   /* Unmake window transient for the root window.  */
-  gdk_window_set_transient_for (win->window, NULL);
+  gdk_property_delete (win->window,
+                       gdk_atom_intern_static_string ("WM_TRANSIENT_FOR"));
 }
 
 
-- 
1.6.6.1