aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2001-07-09 09:49:41 +0800
committerMichael Zucci <zucchi@src.gnome.org>2001-07-09 09:49:41 +0800
commit7cc3d5f443de8cb8f67006e8d28d85aca6ca0507 (patch)
tree6d40aff99cafe706e2d8b88e74019a9d1c50ed6c
parent6a61d6a7e5bbd29ed70c1414c905ec8ad3cadf3d (diff)
downloadgsoc2013-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/ChangeLog8
-rw-r--r--camel/camel-vee-folder.c5
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);