Remove fullscreen_prefs_list_free
authorArkadiy Illarionov <qarkai@gmail.com>
Wed, 19 Jul 2023 21:24:41 +0000 (00:24 +0300)
committerColin Clark <colin.clark@cclark.uk>
Sat, 22 Jul 2023 15:43:14 +0000 (16:43 +0100)
Use g_list_free_full with screen_data_free

src/fullscreen.cc
src/fullscreen.h

index fc8a216..2667276 100644 (file)
@@ -454,21 +454,12 @@ GList *fullscreen_prefs_list()
        return list;
 }
 
-void fullscreen_prefs_list_free(GList *list)
+void screen_data_free(ScreenData *sd)
 {
-       GList *work;
-
-       work = list;
-       while (work)
-               {
-               auto sd = static_cast<ScreenData *>(work->data);
-               work = work->next;
-
-               g_free(sd->description);
-               g_free(sd);
-               }
+       if (!sd) return;
 
-       g_list_free(list);
+       g_free(sd->description);
+       g_free(sd);
 }
 
 ScreenData *fullscreen_prefs_list_find(GList *list, gint screen)
@@ -585,7 +576,7 @@ void fullscreen_prefs_get_geometry(gint screen, GtkWidget *widget, gint *x, gint
                if (same_region) *same_region = TRUE;
                }
 
-       fullscreen_prefs_list_free(list);
+       g_list_free_full(list, reinterpret_cast<GDestroyNotify>(screen_data_free));
 }
 
 #pragma GCC diagnostic push
@@ -692,7 +683,7 @@ GtkWidget *fullscreen_prefs_selection_new(const gchar *text, gint *screen_value,
                work = work->next;
                n++;
                }
-       fullscreen_prefs_list_free(list);
+       g_list_free_full(list, reinterpret_cast<GDestroyNotify>(screen_data_free));
 
        gtk_combo_box_set_active(GTK_COMBO_BOX(combo), current);
 
index 8f0ca00..6bd291d 100644 (file)
@@ -49,7 +49,7 @@ struct ScreenData {
 
 
 GList *fullscreen_prefs_list();
-void fullscreen_prefs_list_free(GList *list);
+void screen_data_free(ScreenData *sd);
 
 ScreenData *fullscreen_prefs_list_find(GList *list, gint screen);