--- ./build/src/mn-tooltips.c.orig 2011-12-09 01:03:51.024311968 +0100
+++ ./build/src/mn-tooltips.c 2011-12-09 01:09:32.540516561 +0100
@@ -268,17 +268,22 @@
{
#line 87 "src/mn-tooltips.gob"
+ GSList *data_list_copy;
GSList *l;
if (selfp->timeout_id)
g_source_remove(selfp->timeout_id);
- MN_LIST_FOREACH(l, selfp->data_list)
+ /* Create a copy of the list to avoid memory corruption as the
+ * self_widget_remove call removes the item from selfp->data_list */
+ data_list_copy = g_slist_copy(selfp->data_list);
+ MN_LIST_FOREACH(l, data_list_copy)
{
TooltipsData *data = l->data;
self_widget_remove(data->widget, data);
}
+ g_slist_free(data_list_copy);
self_unset_window(self);
}}
#line 285 "mn-tooltips.c"