aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--shell/ChangeLog5
-rw-r--r--shell/e-shell.c5
2 files changed, 7 insertions, 3 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog
index 91ca171de2..3d10b3e511 100644
--- a/shell/ChangeLog
+++ b/shell/ChangeLog
@@ -1,5 +1,10 @@
2001-10-22 Ettore Perazzoli <ettore@ximian.com>
+ * e-shell.c (impl_Shell_selectUserFolder): Don't die if the parent
+ window has no WMHints.
+
+2001-10-22 Ettore Perazzoli <ettore@ximian.com>
+
* e-shell-view.c (show_existing_view): If the view is dead, just
return FALSE. Prevents crash #12483.
diff --git a/shell/e-shell.c b/shell/e-shell.c
index 2962824126..6de1b38912 100644
--- a/shell/e-shell.c
+++ b/shell/e-shell.c
@@ -497,7 +497,7 @@ impl_Shell_selectUserFolder (PortableServer_Servant servant,
parent_wm_hints = XGetWMHints (GDK_DISPLAY (), (Window) parent_xid);
- if (parent_wm_hints->flags & WindowGroupHint) {
+ if (parent_wm_hints != NULL && (parent_wm_hints->flags & WindowGroupHint)) {
XWMHints *wm_hints;
wm_hints = XAllocWMHints ();
@@ -505,9 +505,8 @@ impl_Shell_selectUserFolder (PortableServer_Servant servant,
wm_hints->window_group = parent_wm_hints->window_group;
XSetWMHints (GDK_DISPLAY (), GDK_WINDOW_XWINDOW (folder_selection_dialog->window), wm_hints);
XFree (wm_hints);
+ XFree (parent_wm_hints);
}
-
- XFree (parent_wm_hints);
}
}