[evolution] folder_tree_model_folder_renamed_cb: Avoid duplicate rows.



commit 18f8381651b229b6170bb425e63111954e35603f
Author: Matthew Barnes <mbarnes redhat com>
Date:   Sat Aug 17 12:49:03 2013 -0400

    folder_tree_model_folder_renamed_cb: Avoid duplicate rows.
    
    Testing IMAP NOTIFY and folder renames, I observed a "folder-created"
    signal emission before the "folder-renamed" signal emission.  So the
    renamed folder already exists in the tree model when we receive the
    "folder-renamed" signal.  Make sure we handle that sanely.

 mail/em-folder-tree-model.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
---
diff --git a/mail/em-folder-tree-model.c b/mail/em-folder-tree-model.c
index 66f2926..a7039f2 100644
--- a/mail/em-folder-tree-model.c
+++ b/mail/em-folder-tree-model.c
@@ -1049,6 +1049,11 @@ folder_tree_model_folder_renamed_cb (CamelStore *store,
 
        em_folder_tree_model_remove_folders (model, si, &iter);
 
+       /* Make sure we don't already have the new folder name. */
+       reference = g_hash_table_lookup (si->full_hash, info->full_name);
+       if (gtk_tree_row_reference_valid (reference))
+               return;
+
        parent = g_strdup (info->full_name);
        p = strrchr (parent, '/');
        if (p)


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