Changed so we dont have the list changing under us, just going to the next

2001-07-06  Not Zed  <NotZed@Ximian.com>

        * camel-vee-folder.c (camel_vee_folder_finalise): Changed so we
        dont have the list changing under us, just going to the next node
        before we call a function that might change the list is
        potentially dangerous (slight mod of peters fix).  Hmm, i think it
        would've double-unref'd it too(?)

svn path=/trunk/; revision=10900
This commit is contained in:
Not Zed
2001-07-09 01:49:41 +00:00
committed by Michael Zucci
parent 6a61d6a7e5
commit 7cc3d5f443
2 changed files with 11 additions and 2 deletions

View File

@ -1,3 +1,11 @@
2001-07-06 Not Zed <NotZed@Ximian.com>
* camel-vee-folder.c (camel_vee_folder_finalise): Changed so we
dont have the list changing under us, just going to the next node
before we call a function that might change the list is
potentially dangerous (slight mod of peters fix). Hmm, i think it
would've double-unref'd it too(?)
2001-07-08 Chris Toshok <toshok@ximian.com>
* camel-tcp-stream-openssl.c (camel_tcp_stream_openssl_finalize):

View File

@ -160,16 +160,17 @@ camel_vee_folder_finalise (CamelObject *obj)
node = p->folders;
while (node) {
CamelFolder *f = node->data;
node = g_list_next(node);
if (vf != folder_unmatched) {
camel_object_unhook_event((CamelObject *)f, "folder_changed", (CamelObjectEventHookFunc) folder_changed, vf);
camel_object_unhook_event((CamelObject *)f, "message_changed", (CamelObjectEventHookFunc) message_changed, vf);
/* this updates the vfolder */
if ((vf->flags & CAMEL_STORE_FOLDER_PRIVATE) == 0)
camel_vee_folder_remove_folder(vf, f);
vee_folder_remove_folder(vf, f);
}
camel_object_unref((CamelObject *)f);
node = g_list_next(node);
}
g_free(vf->expression);