Sophie

Sophie

distrib > Fedora > 13 > x86_64 > by-pkgid > 681233d48cefa1a7e31ce562a567a40a > files > 1

pinentry-0.8.0-2.fc13.src.rpm

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