From d6e5ef02ebdc059e2412d429c23a39f6171a4851 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 8 Jan 2014 18:51:53 -0500 Subject: [PATCH 1/2] Be more careful with XIDs When an invalid XID is specified, we end up calling gdk_window_set_transient_for with a NULL window. This leads to a crash, so don't do it, and instead silently ignore the invalid XID. https://bugzilla.gnome.org/show_bug.cgi?id=721278 --- src/disks/gduformatvolumedialog.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/disks/gduformatvolumedialog.c b/src/disks/gduformatvolumedialog.c index c737cb0..f741ade 100644 --- a/src/disks/gduformatvolumedialog.c +++ b/src/disks/gduformatvolumedialog.c @@ -181,7 +181,8 @@ gdu_format_volume_dialog_show_internal (UDisksClient *client, GdkWindow *foreign_window = gdk_x11_window_foreign_new_for_display (gdk_display_get_default (), parent_xid); if (!gtk_widget_get_realized (data->dialog)) gtk_widget_realize (data->dialog); - gdk_window_set_transient_for (gtk_widget_get_window (data->dialog), foreign_window); + if (foreign_window != NULL) + gdk_window_set_transient_for (gtk_widget_get_window (data->dialog), foreign_window); } gtk_dialog_set_default_response (GTK_DIALOG (data->dialog), GTK_RESPONSE_OK); -- 1.8.4.2