diff options
-rw-r--r-- | shell/ChangeLog | 5 | ||||
-rw-r--r-- | shell/e-shell.c | 5 |
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); } } |