aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--shell/e-shell.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/shell/e-shell.c b/shell/e-shell.c
index e03efb49cf..38a232ba1a 100644
--- a/shell/e-shell.c
+++ b/shell/e-shell.c
@@ -1645,6 +1645,11 @@ e_shell_quit (EShell *shell)
if (unique_app_is_running (app))
goto unique;
+ /* This handles the case where a --quit command-line option
+ * was given and no other Evolution process is running. */
+ if (e_shell_get_watched_windows (shell) == NULL)
+ goto bypass;
+
if (!shell_request_quit (shell))
return FALSE;
@@ -1652,6 +1657,12 @@ e_shell_quit (EShell *shell)
return TRUE;
+bypass: /* Bypass our usual shutdown procedure. */
+
+ gtk_main_quit ();
+
+ return TRUE;
+
unique: /* Send a message to the other Evolution process. */
response = unique_app_send_message (app, UNIQUE_CLOSE, NULL);