--- a/gnttextview.c Fri Apr 26 08:24:08 2019 +0000
+++ b/gnttextview.c Fri Apr 26 19:05:22 2019 -0400
@@ -216,25 +216,15 @@
-free_text_segment(gpointer data, G_GNUC_UNUSED gpointer unused)
+free_text_line(GntTextLine *line) - GntTextSegment *seg = data;
-free_text_line(gpointer data, G_GNUC_UNUSED gpointer unused)
- GntTextLine *line = data;
- g_list_foreach(line->segments, free_text_segment, NULL);
- g_list_free(line->segments);
+ g_list_free_full(line->segments, (GDestroyNotify)g_free); -free_tag(gpointer data, G_GNUC_UNUSED gpointer unused)
+free_tag(GntTextTag *tag) - GntTextTag *tag = data;
@@ -244,10 +234,8 @@
GntTextView *view = GNT_TEXT_VIEW(widget);
view->list = g_list_first(view->list);
- g_list_foreach(view->list, free_text_line, NULL);
- g_list_free(view->list);
- g_list_foreach(view->tags, free_tag, NULL);
- g_list_free(view->tags);
+ g_list_free_full(view->list, (GDestroyNotify)free_text_line); + g_list_free_full(view->tags, (GDestroyNotify)free_tag); g_string_free(view->string, TRUE);
@@ -421,7 +409,7 @@
gnt_text_view_append_text_with_flags(view, start, seg->tvflag);
- free_text_line(line, NULL);
@@ -670,8 +658,7 @@
- g_list_foreach(view->list, free_text_line, NULL);
- g_list_free(view->list);
+ g_list_free_full(view->list, (GDestroyNotify)free_text_line); line = g_new0(GntTextLine, 1);
@@ -685,7 +672,7 @@
- g_list_foreach(view->tags, free_tag, NULL);
+ g_list_free_full(view->tags, (GDestroyNotify)free_tag); if (GNT_WIDGET(view)->window)
@@ -773,14 +760,14 @@
} else if (seg->start >= tag->start) {
/* This segment starts in the middle of the tag */
- free_text_segment(seg, NULL);
if (G_UNLIKELY(line == NULL)) {
line->segments = g_list_delete_link(line->segments, segs);
if (line->segments == NULL) {
- free_text_line(line, NULL);
if (view->list == iter) {
@@ -807,7 +794,7 @@
view->tags = g_list_delete_link(view->tags, list);
--- a/gntwm.c Fri Apr 26 08:24:08 2019 +0000
+++ b/gntwm.c Fri Apr 26 19:05:22 2019 -0400
@@ -1404,10 +1404,9 @@
g_hash_table_destroy(wm->nodes);
- while (wm->workspaces) {
- g_object_unref(wm->workspaces->data);
- wm->workspaces = g_list_delete_link(wm->workspaces, wm->workspaces);
+ g_list_free_full(wm->workspaces, g_object_unref);