diff options
Diffstat (limited to 'shell')
-rw-r--r-- | shell/e-shell.c | 4 | ||||
-rw-r--r-- | shell/main.c | 7 |
2 files changed, 7 insertions, 4 deletions
diff --git a/shell/e-shell.c b/shell/e-shell.c index 8e05980623..4dd72e3747 100644 --- a/shell/e-shell.c +++ b/shell/e-shell.c @@ -1294,7 +1294,9 @@ unique: /* Send a message to the other Evolution process. */ unique_app_send_message (app, UNIQUE_OPEN, data); unique_message_data_free (data); - return 0; + /* As far as we're concerned, all URIs have been handled. */ + + return g_strv_length (uris); } /** diff --git a/shell/main.c b/shell/main.c index 43edb73606..5adae2ecb1 100644 --- a/shell/main.c +++ b/shell/main.c @@ -247,9 +247,10 @@ idle_cb (gchar **uris) /* These calls do the right thing when another Evolution * process is running. */ - if (uris != NULL && *uris != NULL) - e_shell_handle_uris (shell, uris); - else + if (uris != NULL && *uris != NULL) { + if (e_shell_handle_uris (shell, uris) == 0) + gtk_main_quit (); + } else e_shell_create_shell_window (shell, requested_view); /* If another Evolution process is running, we're done. */ |