summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2020-07-26 16:25:12 -0400
committerMatthias Clasen <mclasen@redhat.com>2020-07-26 16:25:12 -0400
commit0b7f7028d918e7efb90fc986146d4945e2419d46 (patch)
tree7b2b1251c454d1e2a2e8affd6d7415d83c8272aa /gtk
parent5dba053ad1744de344748cd643981f54beb7189d (diff)
downloadgtk+-sort-list-constructor.tar.gz
sortlistmodel: Make constructor transfer fullsort-list-constructor
This is for consistency with other wrapping list constructors. We want them all to be transfer full, allow-none. Update all callers.
Diffstat (limited to 'gtk')
-rw-r--r--gtk/gtkcolumnview.c4
-rw-r--r--gtk/gtkprintunixdialog.c2
-rw-r--r--gtk/gtksortlistmodel.c8
-rw-r--r--gtk/inspector/actions.c12
-rw-r--r--gtk/inspector/controllers.c2
-rw-r--r--gtk/inspector/prop-list.c1
-rw-r--r--gtk/inspector/resource-list.c3
7 files changed, 15 insertions, 17 deletions
diff --git a/gtk/gtkcolumnview.c b/gtk/gtkcolumnview.c
index 6ad2580c25..691c18e6ed 100644
--- a/gtk/gtkcolumnview.c
+++ b/gtk/gtkcolumnview.c
@@ -1500,8 +1500,8 @@ gtk_column_view_get_list_view (GtkColumnView *self)
* |[
* gtk_column_view_column_set_sorter (column, sorter);
* gtk_column_view_append_column (view, column);
- * model = gtk_sort_list_model_new (store,
- * gtk_column_view_get_sorter (view));
+ * sorter = g_object_ref (gtk_column_view_get_sorter (view)));
+ * model = gtk_sort_list_model_new (store, sorter);
* selection = gtk_no_selection_new (model);
* gtk_column_view_set_model (view, selection);
* ]|
diff --git a/gtk/gtkprintunixdialog.c b/gtk/gtkprintunixdialog.c
index 09e7c1ea8b..2305d3d4ed 100644
--- a/gtk/gtkprintunixdialog.c
+++ b/gtk/gtkprintunixdialog.c
@@ -813,7 +813,6 @@ gtk_print_unix_dialog_init (GtkPrintUnixDialog *dialog)
model = load_print_backends (dialog);
sorter = gtk_custom_sorter_new (default_printer_list_sort_func, NULL, NULL);
sorted = G_LIST_MODEL (gtk_sort_list_model_new (model, sorter));
- g_object_unref (sorter);
filter = gtk_every_filter_new ();
@@ -839,7 +838,6 @@ gtk_print_unix_dialog_init (GtkPrintUnixDialog *dialog)
g_signal_connect_swapped (selection, "notify::selected", G_CALLBACK (selected_printer_changed), dialog);
g_object_unref (selection);
g_object_unref (filtered);
- g_object_unref (model);
gtk_print_load_custom_papers (dialog->custom_paper_list);
diff --git a/gtk/gtksortlistmodel.c b/gtk/gtksortlistmodel.c
index 64bd038bcc..24c2b5271d 100644
--- a/gtk/gtksortlistmodel.c
+++ b/gtk/gtksortlistmodel.c
@@ -828,8 +828,8 @@ gtk_sort_list_model_init (GtkSortListModel *self)
/**
* gtk_sort_list_model_new:
- * @model: (allow-none): the model to sort
- * @sorter: (allow-none): the #GtkSorter to sort @model with
+ * @model: (allow-none) (transfer full): the model to sort, or %NULL
+ * @sorter: (allow-none) (transfer full): the #GtkSorter to sort @model with, or %NULL
*
* Creates a new sort list model that uses the @sorter to sort @model.
*
@@ -849,6 +849,10 @@ gtk_sort_list_model_new (GListModel *model,
"sorter", sorter,
NULL);
+ /* consume the references */
+ g_clear_object (&model);
+ g_clear_object (&sorter);
+
return result;
}
diff --git a/gtk/inspector/actions.c b/gtk/inspector/actions.c
index 4965bb6349..9f68ded33e 100644
--- a/gtk/inspector/actions.c
+++ b/gtk/inspector/actions.c
@@ -46,7 +46,7 @@ struct _GtkInspectorActions
GObject *object;
- GListModel *actions;
+ GListStore *actions;
GtkColumnViewColumn *name;
};
@@ -79,7 +79,7 @@ action_added (GObject *owner,
GtkInspectorActions *sl)
{
ActionHolder *holder = action_holder_new (owner, action_name);
- g_list_store_append (G_LIST_STORE (sl->actions), holder);
+ g_list_store_append (sl->actions, holder);
g_object_unref (holder);
}
@@ -283,7 +283,7 @@ add_muxer (GtkInspectorActions *sl,
static gboolean
reload (GtkInspectorActions *sl)
{
- g_list_store_remove_all (G_LIST_STORE (sl->actions));
+ g_list_store_remove_all (sl->actions);
if (GTK_IS_APPLICATION (sl->object))
{
@@ -395,9 +395,9 @@ constructed (GObject *object)
gtk_column_view_column_set_sorter (sl->name, sorter);
g_object_unref (sorter);
- sl->actions = G_LIST_MODEL (g_list_store_new (ACTION_TYPE_HOLDER));
- sorted = G_LIST_MODEL (gtk_sort_list_model_new (sl->actions,
- gtk_column_view_get_sorter (GTK_COLUMN_VIEW (sl->list))));
+ sl->actions = g_list_store_new (ACTION_TYPE_HOLDER);
+ sorted = G_LIST_MODEL (gtk_sort_list_model_new (g_object_ref (G_LIST_MODEL (sl->actions)),
+ g_object_ref (gtk_column_view_get_sorter (GTK_COLUMN_VIEW (sl->list)))));
model = G_LIST_MODEL (gtk_no_selection_new (sorted));
gtk_column_view_set_model (GTK_COLUMN_VIEW (sl->list), model);
g_object_unref (sorted);
diff --git a/gtk/inspector/controllers.c b/gtk/inspector/controllers.c
index 9d1ef7ffaf..bb658a2c74 100644
--- a/gtk/inspector/controllers.c
+++ b/gtk/inspector/controllers.c
@@ -249,7 +249,6 @@ gtk_inspector_controllers_set_object (GtkInspectorControllers *self,
sorter = gtk_custom_sorter_new (compare_controllers, NULL, NULL);
sort_model = gtk_sort_list_model_new (G_LIST_MODEL (flatten_model), sorter);
- g_object_unref (sorter);
gtk_list_box_bind_model (GTK_LIST_BOX (self->listbox),
G_LIST_MODEL (sort_model),
@@ -258,7 +257,6 @@ gtk_inspector_controllers_set_object (GtkInspectorControllers *self,
NULL);
g_object_unref (sort_model);
- g_object_unref (flatten_model);
}
static void
diff --git a/gtk/inspector/prop-list.c b/gtk/inspector/prop-list.c
index a5b12d9a52..e7d2aeb21b 100644
--- a/gtk/inspector/prop-list.c
+++ b/gtk/inspector/prop-list.c
@@ -634,7 +634,6 @@ gtk_inspector_prop_list_set_object (GtkInspectorPropList *pl,
g_object_unref (list);
g_object_unref (sorted);
- g_object_unref (filtered);
return TRUE;
}
diff --git a/gtk/inspector/resource-list.c b/gtk/inspector/resource-list.c
index 57be9a049f..1cb3770bd4 100644
--- a/gtk/inspector/resource-list.c
+++ b/gtk/inspector/resource-list.c
@@ -712,11 +712,10 @@ constructed (GObject *object)
column_sorter = gtk_column_view_get_sorter (GTK_COLUMN_VIEW (rl->list));
sorter = gtk_tree_list_row_sorter_new (g_object_ref (column_sorter));
- sort_model = G_LIST_MODEL (gtk_sort_list_model_new (G_LIST_MODEL (rl->tree_model), sorter));
+ sort_model = G_LIST_MODEL (gtk_sort_list_model_new (g_object_ref (G_LIST_MODEL (rl->tree_model)), sorter));
rl->selection = gtk_single_selection_new (sort_model);
g_object_unref (root_model);
g_object_unref (sort_model);
- g_object_unref (sorter);
gtk_column_view_set_model (GTK_COLUMN_VIEW (rl->list), G_LIST_MODEL (rl->selection));