From 3b17294f868cf76f0784aed9465bcf79f88cf37d Mon Sep 17 00:00:00 2001 From: Peter Williams Date: Tue, 4 Sep 2001 15:30:13 +0000 Subject: Remove the folder from the EvolutionStorage as well as the EStorage. 2001-08-30 Peter Williams * e-local-storage.c (async_xfer_folder_complete): Remove the folder from the EvolutionStorage as well as the EStorage. 2001-08-29 Peter Williams * e-storage-set-view.c (etree_node_destroy_func): Only call remove_node_from_hash if it's not the root node. (removed_storage_cb): Don't remove the node from the hash here, because it will be removed in the node_destroyed callback. (removed_folder_cb): Same. * e-shell-view.c (e_shell_view_remove_control_for_uri): Disconnect from the destroy signal so as not to confuse ourselves. Also, the page remove in the notebook destroys the control and the socket, so don't do that explicitly. * e-shell-folder-commands.c (folder_selection_dialog_folder_selected_callback): Remove the control for the source view if we're moving. svn path=/trunk/; revision=12578 --- shell/e-storage-set-view.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'shell/e-storage-set-view.c') diff --git a/shell/e-storage-set-view.c b/shell/e-storage-set-view.c index 3ebeb14f06..82e08d2ed3 100644 --- a/shell/e-storage-set-view.c +++ b/shell/e-storage-set-view.c @@ -1555,7 +1555,8 @@ etree_node_destroy_func (void *data, path = (char *) data; storage_set_view = E_STORAGE_SET_VIEW (user_data); - remove_node_from_hash (storage_set_view, path); + if (strcmp (path, ROOT_NODE_NAME)) + remove_node_from_hash (storage_set_view, path); g_free (path); } @@ -1602,7 +1603,7 @@ removed_storage_cb (EStorageSet *storage_set, etree = priv->etree_model; path = g_strconcat (G_DIR_SEPARATOR_S, e_storage_get_name (storage), NULL); - node = remove_node_from_hash (storage_set_view, path); + node = lookup_node_in_hash (storage_set_view, path); g_free (path); e_tree_memory_node_remove (E_TREE_MEMORY(etree), node); @@ -1683,7 +1684,7 @@ removed_folder_cb (EStorageSet *storage_set, priv = storage_set_view->priv; etree = priv->etree_model; - node = remove_node_from_hash (storage_set_view, path); + node = lookup_node_in_hash (storage_set_view, path); e_tree_memory_node_remove (E_TREE_MEMORY(etree), node); } -- cgit v1.2.3