diff options
author | Milan Crha <mcrha@redhat.com> | 2011-03-04 17:00:26 +0800 |
---|---|---|
committer | Milan Crha <mcrha@redhat.com> | 2011-03-04 17:00:26 +0800 |
commit | 744f785a9c70b860a23c9d8982e755caf99c9b2c (patch) | |
tree | 10f8c124769b99fdbd5224f80df40afdcf6c1d4e | |
parent | f1e416438026e495a29ca36715e27964f7dc4b04 (diff) | |
download | gsoc2013-evolution-744f785a9c70b860a23c9d8982e755caf99c9b2c.tar.gz gsoc2013-evolution-744f785a9c70b860a23c9d8982e755caf99c9b2c.tar.zst gsoc2013-evolution-744f785a9c70b860a23c9d8982e755caf99c9b2c.zip |
Do not flush Outbox when mail shell backend not started
-rw-r--r-- | mail/e-mail-backend.c | 5 | ||||
-rw-r--r-- | shell/e-shell-backend.c | 15 | ||||
-rw-r--r-- | shell/e-shell-backend.h | 1 |
3 files changed, 20 insertions, 1 deletions
diff --git a/mail/e-mail-backend.c b/mail/e-mail-backend.c index d0631b13dd..fb2a384796 100644 --- a/mail/e-mail-backend.c +++ b/mail/e-mail-backend.c @@ -280,7 +280,7 @@ mail_backend_prepare_for_quit_cb (EShell *shell, static void mail_backend_quit_requested_cb (EShell *shell, EShellQuitReason reason, - EShellBackend *shell_backend) + EShellBackend *mail_shell_backend) { CamelFolder *folder; GtkWindow *window; @@ -301,6 +301,9 @@ mail_backend_quit_requested_cb (EShell *shell, strcmp(e_shell_window_get_active_view((EShellWindow *)window), "mail") != 0) return; + if (!e_shell_backend_is_started (mail_shell_backend)) + return; + /* Check Outbox for any unsent messages. */ folder = e_mail_local_get_folder (E_MAIL_LOCAL_FOLDER_OUTBOX); diff --git a/shell/e-shell-backend.c b/shell/e-shell-backend.c index cd672842f1..03acc0ef04 100644 --- a/shell/e-shell-backend.c +++ b/shell/e-shell-backend.c @@ -508,6 +508,21 @@ e_shell_backend_start (EShellBackend *shell_backend) } /** + * e_shell_backend_is_started: + * @shell_backend: an #EShellBackend + * + * Returns whether was shelll_backend already started, by + * calling e_shell_backend_start(). + **/ +gboolean +e_shell_backend_is_started (EShellBackend *shell_backend) +{ + g_return_val_if_fail (E_IS_SHELL_BACKEND (shell_backend), FALSE); + + return shell_backend->priv->started; +} + +/** * e_shell_backend_migrate: * @shell_backend: an #EShellBackend * @major: major part of version to migrate from diff --git a/shell/e-shell-backend.h b/shell/e-shell-backend.h index 1810c8c6e5..3364b16589 100644 --- a/shell/e-shell-backend.h +++ b/shell/e-shell-backend.h @@ -127,6 +127,7 @@ void e_shell_backend_add_activity (EShellBackend *shell_backend, gboolean e_shell_backend_is_busy (EShellBackend *shell_backend); void e_shell_backend_cancel_all (EShellBackend *shell_backend); void e_shell_backend_start (EShellBackend *shell_backend); +gboolean e_shell_backend_is_started (EShellBackend *shell_backend); gboolean e_shell_backend_migrate (EShellBackend *shell_backend, gint major, gint minor, |