[evolution] Composer autosave can stop working



commit c8d85cf41c19c0d898e760508bbb289e7f9573ea
Author: Milan Crha <mcrha redhat com>
Date:   Thu Sep 13 17:40:06 2018 +0200

    Composer autosave can stop working
    
    In some cases, like when the autosave timer elapsed just it time
    of the composer being "soft busy", or when there was a problem
    with the editor itself, the autosave code left marked itself as
    "waiting to save the changes", which was not true. In case of
    the "soft busy" state it meant no further autosaving.

 src/modules/composer-autosave/e-composer-autosave.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
---
diff --git a/src/modules/composer-autosave/e-composer-autosave.c 
b/src/modules/composer-autosave/e-composer-autosave.c
index 6d151fd784..0b214fe081 100644
--- a/src/modules/composer-autosave/e-composer-autosave.c
+++ b/src/modules/composer-autosave/e-composer-autosave.c
@@ -100,15 +100,19 @@ composer_autosave_timeout_cb (gpointer user_data)
 
        autosave = E_COMPOSER_AUTOSAVE (user_data);
 
-       if (autosave->priv->editor_is_malfunction)
+       if (autosave->priv->editor_is_malfunction) {
+               autosave->priv->timeout_id = 0;
                return FALSE;
+       }
 
        extensible = e_extension_get_extensible (E_EXTENSION (autosave));
        composer = E_MSG_COMPOSER (extensible);
 
        /* Do not do anything when it's busy */
-       if (e_msg_composer_is_soft_busy (composer))
+       if (e_msg_composer_is_soft_busy (composer)) {
+               autosave->priv->timeout_id = 0;
                return FALSE;
+       }
 
        /* Cancel the previous snapshot if it's still in
         * progress and start a new snapshot operation. */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]