aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--shell/ChangeLog8
-rw-r--r--shell/e-shell-window-commands.c1
-rw-r--r--shell/e-shell.c5
3 files changed, 12 insertions, 2 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog
index 86a1304dce..77bed4334f 100644
--- a/shell/ChangeLog
+++ b/shell/ChangeLog
@@ -1,3 +1,11 @@
+2004-04-30 Dan Winship <danw@ximian.com>
+
+ * e-shell-window-commands.c (command_quit): Don't save window
+ state here.
+
+ * e-shell.c (e_shell_quit): Do it here, so it gets called if you
+ quit by closing the last window via its close button too. #57529
+
2004-04-30 Not Zed <NotZed@Ximian.com>
* e-component-registry.c:
diff --git a/shell/e-shell-window-commands.c b/shell/e-shell-window-commands.c
index 6d9dc6c224..855a59dd5f 100644
--- a/shell/e-shell-window-commands.c
+++ b/shell/e-shell-window-commands.c
@@ -98,7 +98,6 @@ command_quit (BonoboUIComponent *uih,
{
EShell *shell = e_shell_window_peek_shell (window);
- e_shell_window_save_defaults (window);
e_shell_quit(shell);
}
diff --git a/shell/e-shell.c b/shell/e-shell.c
index 7e92785553..5c69e49e90 100644
--- a/shell/e-shell.c
+++ b/shell/e-shell.c
@@ -1175,8 +1175,11 @@ e_shell_quit(EShell *shell)
if (can_quit) {
GList *p = shell->priv->windows;
- for (; p != NULL; p = p->next)
+ for (; p != NULL; p = p->next) {
gtk_widget_set_sensitive (GTK_WIDGET (p->data), FALSE);
+ if (p == shell->priv->windows)
+ e_shell_window_save_defaults (p->data);
+ }
can_quit = !es_run_quit(shell);
}