[evolution/gnome-3-22] Message list not always scrolled to the cursor position on folder enter



commit a583e8ca3548a6a445a5ea5224dfbb36c5421351
Author: Milan Crha <mcrha redhat com>
Date:   Fri Nov 11 11:03:50 2016 +0100

    Message list not always scrolled to the cursor position on folder enter
    
    There could happen that a folder's "changed" signal had been received
    before an ongoing message list regen got processed, which meant that
    the ongoing regen request had been updated, not cancelled, but as it
    also modified the folder_changed flag, then the scroll position had not
    been updated properly.

 mail/message-list.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)
---
diff --git a/mail/message-list.c b/mail/message-list.c
index 227bc8f..90e335e 100644
--- a/mail/message-list.c
+++ b/mail/message-list.c
@@ -6309,7 +6309,13 @@ mail_regen_list (MessageList *message_list,
                        old_regen_data->search = g_strdup (search);
                }
 
-               old_regen_data->folder_changed = folder_changed;
+               /* Only turn off the folder_changed flag, do not turn it on, because otherwise
+                  the view may not scroll to the cursor position, due to claiming that
+                  the regen was done for folder-changed signal, while the initial regen
+                  request would be due to change of the folder in the view (or other similar
+                  reasons). */
+               if (!folder_changed)
+                       old_regen_data->folder_changed = folder_changed;
 
                /* Avoid cancelling on the way out. */
                old_regen_data = NULL;


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