--- ./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"