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)
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
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);
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);