diff options
author | Not Zed <NotZed@Ximian.com> | 2001-07-09 09:49:41 +0800 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2001-07-09 09:49:41 +0800 |
commit | 7cc3d5f443de8cb8f67006e8d28d85aca6ca0507 (patch) | |
tree | 6d40aff99cafe706e2d8b88e74019a9d1c50ed6c | |
parent | 6a61d6a7e5bbd29ed70c1414c905ec8ad3cadf3d (diff) | |
download | gsoc2013-evolution-7cc3d5f443de8cb8f67006e8d28d85aca6ca0507.tar.gz gsoc2013-evolution-7cc3d5f443de8cb8f67006e8d28d85aca6ca0507.tar.zst gsoc2013-evolution-7cc3d5f443de8cb8f67006e8d28d85aca6ca0507.zip |
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
-rw-r--r-- | camel/ChangeLog | 8 | ||||
-rw-r--r-- | camel/camel-vee-folder.c | 5 |
2 files changed, 11 insertions, 2 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog index df75ecbe6e..f3a37af6f2 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -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): diff --git a/camel/camel-vee-folder.c b/camel/camel-vee-folder.c index 06cfaabbee..fde38fa1d5 100644 --- a/camel/camel-vee-folder.c +++ b/camel/camel-vee-folder.c @@ -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); |