diff options
-rw-r--r-- | mail/ChangeLog | 6 | ||||
-rw-r--r-- | mail/em-folder-tree-model.c | 16 |
2 files changed, 8 insertions, 14 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index fd69f26c8a..31173327ba 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,5 +1,11 @@ 2004-01-28 Jeffrey Stedfast <fejj@ximian.com> + * em-folder-tree-model.c (em_folder_tree_model_add_store): If the + store is already in the model, remove it and then re-add it. Fixes + bug #53422. + +2004-01-28 Jeffrey Stedfast <fejj@ximian.com> + And thus completes the fixes for bug #52766. * em-folder-tree.c (tree_drag_drop): Don't call diff --git a/mail/em-folder-tree-model.c b/mail/em-folder-tree-model.c index 989519c86b..0bcde70a0e 100644 --- a/mail/em-folder-tree-model.c +++ b/mail/em-folder-tree-model.c @@ -671,20 +671,8 @@ em_folder_tree_model_add_store (EMFolderTreeModel *model, CamelStore *store, con g_return_if_fail (CAMEL_IS_STORE (store)); g_return_if_fail (display_name != NULL); - if ((si = g_hash_table_lookup (model->store_hash, store))) { - const char *name; - - path = gtk_tree_row_reference_get_path (si->row); - gtk_tree_model_get_iter ((GtkTreeModel *) model, &iter, path); - gtk_tree_path_free (path); - - gtk_tree_model_get ((GtkTreeModel *) model, &iter, COL_STRING_DISPLAY_NAME, (char **) &name, -1); - - g_warning ("the store `%s' is already in the folder tree as `%s'", - display_name, name); - - return; - } + if ((si = g_hash_table_lookup (model->store_hash, store))) + em_folder_tree_model_remove_store (model, store); uri = camel_url_to_string (((CamelService *) store)->url, CAMEL_URL_HIDE_ALL); |