From fb5bec84e981634dc04575eda4e4149b3c536923 Mon Sep 17 00:00:00 2001 From: Ettore Perazzoli Date: Thu, 25 Oct 2001 22:28:13 +0000 Subject: Handle failure from XGetClassHint properly. Also, free res_name and * e-shell.c (impl_Shell_selectUserFolder): Handle failure from XGetClassHint properly. Also, free res_name and res_class in case of success. Fixes #13554. svn path=/trunk/; revision=14104 --- shell/ChangeLog | 6 ++++++ shell/e-shell.c | 10 ++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/shell/ChangeLog b/shell/ChangeLog index 8176a45f0a..a2e060900c 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,3 +1,9 @@ +2001-10-25 Ettore Perazzoli + + * e-shell.c (impl_Shell_selectUserFolder): Handle failure from + XGetClassHint properly. Also, free res_name and res_class in case + of success. Fixes #13554. + 2001-10-25 Ettore Perazzoli * e-storage-set-view.c (etree_icon_at): Don't display an icon for diff --git a/shell/e-shell.c b/shell/e-shell.c index bfce4e473a..017ee41901 100644 --- a/shell/e-shell.c +++ b/shell/e-shell.c @@ -483,10 +483,12 @@ impl_Shell_selectUserFolder (PortableServer_Servant servant, e_set_dialog_parent_from_xid (GTK_WINDOW (folder_selection_dialog), parent_xid); - XGetClassHint (GDK_DISPLAY (), (Window) parent_xid, &class_hints); - - gtk_window_set_wmclass (GTK_WINDOW (folder_selection_dialog), - class_hints.res_name, class_hints.res_class); + if (XGetClassHint (GDK_DISPLAY (), (Window) parent_xid, &class_hints)) { + gtk_window_set_wmclass (GTK_WINDOW (folder_selection_dialog), + class_hints.res_name, class_hints.res_class); + XFree (class_hints.res_name); + XFree (class_hints.res_class); + } gtk_widget_show (folder_selection_dialog); -- cgit v1.2.3