That was only one of a few changes I suggested you make. Here’s a diff between your version and mine:
--- columnviewsort-orig.c 2025-01-30 14:03:26.307045990 -0500
+++ columnviewsort.c 2025-01-30 14:17:25.393898713 -0500
@@ -1,3 +1,4 @@
+#include <glib/gprintf.h>
#include <gtk/gtk.h>
void object_free(gpointer data)
@@ -51,14 +52,14 @@
gtk_scrolled_window_set_child(GTK_SCROLLED_WINDOW(scrolled_window), column_view);
// Erstellen des Sortierers für die ColumnView
- GtkSorter *view_sorter = gtk_column_view_get_sorter(GTK_COLUMN_VIEW(column_view));
+ GtkSorter *view_sorter = g_object_ref (gtk_column_view_get_sorter(GTK_COLUMN_VIEW(column_view)));
GListStore* store = g_list_store_new(G_TYPE_OBJECT);
GtkSortListModel *sort_model = gtk_sort_list_model_new(G_LIST_MODEL(store), view_sorter);
GtkSelectionModel* selection_model = GTK_SELECTION_MODEL(gtk_single_selection_new(G_LIST_MODEL(sort_model)));
- g_object_unref(view_sorter);
gtk_column_view_set_model(GTK_COLUMN_VIEW(column_view), selection_model);
+ g_object_unref(selection_model);
const char* column_titles[] = {"Number 1", "Number 2", "Number 3"};
for (int i = 0; i < 3; i++) {
@@ -80,7 +81,6 @@
add_item(store);
add_item(store);
- g_list_store_remove(store, 1); // free io.
gtk_window_present(GTK_WINDOW(window));
}
With that, I get 12 "free object"s printed upon closing the window.