From 977d49018cebcc37d0b667713ad422f80ba9c8d2 Mon Sep 17 00:00:00 2001 From: Stanislav Ochotnicky 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