diff options
author | Milan Crha <mcrha@redhat.com> | 2011-03-04 17:00:26 +0800 |
---|---|---|
committer | Rodrigo Moya <rodrigo@gnome-db.org> | 2011-06-30 00:41:41 +0800 |
commit | 3f746c4a55779d784dd48317a0305b131b0ad771 (patch) | |
tree | ecb8adeea5621394e81946b7bccd4602134b35fa | |
parent | eac4adfbf61b7f090db0713dbdaa5f4dd081e751 (diff) | |
download | gsoc2013-evolution-3f746c4a55779d784dd48317a0305b131b0ad771.tar gsoc2013-evolution-3f746c4a55779d784dd48317a0305b131b0ad771.tar.gz gsoc2013-evolution-3f746c4a55779d784dd48317a0305b131b0ad771.tar.bz2 gsoc2013-evolution-3f746c4a55779d784dd48317a0305b131b0ad771.tar.lz gsoc2013-evolution-3f746c4a55779d784dd48317a0305b131b0ad771.tar.xz gsoc2013-evolution-3f746c4a55779d784dd48317a0305b131b0ad771.tar.zst gsoc2013-evolution-3f746c4a55779d784dd48317a0305b131b0ad771.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, |