Fixed a situation in which we could notify the shell listener twice.

2003-01-10  Jeffrey Stedfast  <fejj@ximian.com>

	* component-factory.c (storage_remove_folder): Fixed a situation
	in which we could notify the shell listener twice.

svn path=/trunk/; revision=19401
This commit is contained in:
Jeffrey Stedfast
2003-01-10 16:25:01 +00:00
committed by Jeffrey Stedfast
parent 5a20da25d3
commit b71068d4e3
3 changed files with 26 additions and 21 deletions

View File

@ -1,3 +1,8 @@
2003-01-10 Jeffrey Stedfast <fejj@ximian.com>
* component-factory.c (storage_remove_folder): Fixed a situation
in which we could notify the shell listener twice.
2003-01-10 Not Zed <NotZed@Ximian.com>
* folder-browser.c (folder_browser_gui_init): Save the paned_size

View File

@ -1261,8 +1261,11 @@ storage_remove_folder (EvolutionStorage *storage,
root = camel_store_get_folder_info (store, name, CAMEL_STORE_FOLDER_INFO_FAST |
CAMEL_STORE_FOLDER_INFO_RECURSIVE, &ex);
camel_url_free (url);
if (!root || camel_exception_is_set (&ex))
goto exception;
if (!root || camel_exception_is_set (&ex)) {
notify_listener_exception (listener, &ex);
camel_exception_clear (&ex);
return;
}
/* walk the tree until we find the particular child folder we want to delete */
fi = root;
@ -1272,23 +1275,20 @@ storage_remove_folder (EvolutionStorage *storage,
fi = fi->child;
}
if (fi != NULL) {
storage_remove_folder_recursive (storage, store, fi, &ex);
if (camel_exception_is_set (&ex))
goto exception;
} else {
if (!fi) {
notify_listener (listener, GNOME_Evolution_Storage_INVALID_URI);
camel_store_free_folder_info (store, root);
return;
}
storage_remove_folder_recursive (storage, store, fi, &ex);
camel_store_free_folder_info (store, root);
notify_listener (listener, GNOME_Evolution_Storage_OK);
return;
exception:
notify_listener_exception(listener, &ex);
camel_exception_clear (&ex);
camel_store_free_folder_info (store, root);
if (camel_exception_is_set (&ex)) {
notify_listener_exception (listener, &ex);
camel_exception_clear (&ex);
} else {
notify_listener (listener, GNOME_Evolution_Storage_OK);
}
}
static void

View File

@ -532,13 +532,13 @@ account_to_xml (MailConfigAccount *account)
xmlDocDumpMemory (doc, &xmlbuf, &n);
xmlFreeDoc (doc);
/* remap to glib memory */
tmp = g_malloc(n+1);
memcpy(tmp, xmlbuf, n);
tmp[n] = 0;
xmlFree(xmlbuf);
tmp = g_malloc (n + 1);
memcpy (tmp, xmlbuf, n);
tmp[n] = '\0';
xmlFree (xmlbuf);
return tmp;
}