diff options
| author | Milan Crha <mcrha@redhat.com> | 2013-03-05 05:09:19 +0800 | 
|---|---|---|
| committer | Milan Crha <mcrha@redhat.com> | 2013-03-05 05:10:17 +0800 | 
| commit | 6025638f1ffa9f312bcd93b4015223b7db69b10e (patch) | |
| tree | 514c33670bb844a3badb1690331be5c080ab2997 | |
| parent | 2f69ab1657c8f9677e801a1aab36e23732f85b81 (diff) | |
| download | gsoc2013-evolution-6025638f1ffa9f312bcd93b4015223b7db69b10e.tar.gz gsoc2013-evolution-6025638f1ffa9f312bcd93b4015223b7db69b10e.tar.zst gsoc2013-evolution-6025638f1ffa9f312bcd93b4015223b7db69b10e.zip | |
Bug #645476 - Avoid scroll to cursor on folder change in message list (take 3)
| -rw-r--r-- | mail/message-list.c | 8 | 
1 files changed, 8 insertions, 0 deletions
| diff --git a/mail/message-list.c b/mail/message-list.c index da0be14fea..a592bf9fc6 100644 --- a/mail/message-list.c +++ b/mail/message-list.c @@ -4801,6 +4801,7 @@ regen_list_done (struct _regen_list_msg *m)  	if (m->dotree) {  		gboolean forcing_expand_state = m->ml->expand_all || m->ml->collapse_all; +		ETableItem *table_item = e_tree_get_item (E_TREE (m->ml));  		if (m->ml->just_set_folder) {  			m->ml->just_set_folder = FALSE; @@ -4814,12 +4815,19 @@ regen_list_done (struct _regen_list_msg *m)  		if (forcing_expand_state || searching)  			e_tree_force_expanded_state (tree, (m->ml->expand_all || searching) ? 1 : -1); +		e_tree_memory_freeze (E_TREE_MEMORY (m->ml->model)); +  		build_tree (m->ml, m->tree, m->changes);  		if (m->ml->thread_tree)  			camel_folder_thread_messages_unref (m->ml->thread_tree);  		m->ml->thread_tree = m->tree;  		m->tree = NULL; +		if (!m->scroll_to_cursor && table_item) +			table_item->queue_show_cursor = FALSE; + +		e_tree_memory_thaw (E_TREE_MEMORY (m->ml->model)); +  		if (forcing_expand_state || searching) {  			if (m->ml->folder != NULL && tree != NULL && !searching)  				save_tree_state (m->ml); | 
