aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--shell/ChangeLog6
-rw-r--r--shell/e-shell.c10
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,5 +1,11 @@
2001-10-25 Ettore Perazzoli <ettore@ximian.com>
+ * 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 <ettore@ximian.com>
+
* e-storage-set-view.c (etree_icon_at): Don't display an icon for
storages that have subfolders.
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);