diff --git a/source/libublsettings-gtk3-status.c b/source/libublsettings-gtk3-status.c index c73cf47..35e40c0 100644 --- a/source/libublsettings-gtk3-status.c +++ b/source/libublsettings-gtk3-status.c @@ -327,13 +327,17 @@ void *__yon_ubl_status_box_despawn(GtkContainer *status_container){ struct temp_statusbox *statusstruct = malloc(sizeof(struct temp_statusbox)); statusstruct->revealer = revealer; statusstruct->times = 0; - g_idle_add((GSourceFunc)yon_ubl_status_hide_revealer,statusstruct); - sleep(1); - gtk_widget_destroy(statusstruct->revealer); - return NULL; + g_idle_add((GSourceFunc)yon_ubl_status_hide_revealer,statusstruct); + sleep(1); + gtk_widget_destroy(statusstruct->revealer); + g_list_free(list); + return NULL; } void yon_ubl_status_box_despawn(GtkContainer *status_container){ + GList *list = gtk_container_get_children(status_container); + if (!list) return; + g_list_free(list); g_thread_new("status_despawn",(GThreadFunc)__yon_ubl_status_box_despawn,status_container); }