diff options
-rw-r--r-- | demos/constraint-editor/constraint-view.c | 4 | ||||
-rw-r--r-- | demos/gtk-demo/listview_settings.c | 6 | ||||
-rw-r--r-- | demos/gtk-demo/main.c | 1 | ||||
-rw-r--r-- | gtk/gtkcustompaperunixdialog.c | 2 | ||||
-rw-r--r-- | gtk/gtkdropdown.c | 2 | ||||
-rw-r--r-- | gtk/gtkfilterlistmodel.c | 8 | ||||
-rw-r--r-- | gtk/gtkpagesetupunixdialog.c | 2 | ||||
-rw-r--r-- | gtk/gtkprintunixdialog.c | 1 | ||||
-rw-r--r-- | gtk/inspector/object-tree.c | 3 | ||||
-rw-r--r-- | gtk/inspector/prop-list.c | 3 | ||||
-rw-r--r-- | tests/testcolumnview.c | 2 | ||||
-rw-r--r-- | tests/testlistview.c | 2 | ||||
-rw-r--r-- | testsuite/gtk/expression.c | 2 | ||||
-rw-r--r-- | testsuite/gtk/filter.c | 2 | ||||
-rw-r--r-- | testsuite/gtk/filterlistmodel-exhaustive.c | 4 | ||||
-rw-r--r-- | testsuite/gtk/filterlistmodel.c | 3 | ||||
-rw-r--r-- | testsuite/gtk/multiselection.c | 2 | ||||
-rw-r--r-- | testsuite/gtk/singleselection.c | 2 | ||||
-rw-r--r-- | testsuite/gtk/slicelistmodel.c | 2 |
19 files changed, 20 insertions, 33 deletions
diff --git a/demos/constraint-editor/constraint-view.c b/demos/constraint-editor/constraint-view.c index a3fbd447bf..5c66bf9d41 100644 --- a/demos/constraint-editor/constraint-view.c +++ b/demos/constraint-editor/constraint-view.c @@ -179,14 +179,10 @@ constraint_view_init (ConstraintView *self) all_constraints = gtk_constraint_layout_observe_constraints (GTK_CONSTRAINT_LAYOUT (manager)); filter = gtk_custom_filter_new (omit_internal, NULL, NULL); constraints = (GListModel *)gtk_filter_list_model_new (all_constraints, filter); - g_object_unref (filter); - g_object_unref (all_constraints); all_children = gtk_widget_observe_children (GTK_WIDGET (self)); filter = gtk_custom_filter_new (omit_internal, NULL, NULL); children = (GListModel *)gtk_filter_list_model_new (all_children, filter); - g_object_unref (filter); - g_object_unref (all_children); list = g_list_store_new (G_TYPE_LIST_MODEL); g_list_store_append (list, children); diff --git a/demos/gtk-demo/listview_settings.c b/demos/gtk-demo/listview_settings.c index 7dc55ada2f..9df0218f7c 100644 --- a/demos/gtk-demo/listview_settings.c +++ b/demos/gtk-demo/listview_settings.c @@ -246,12 +246,8 @@ transform_settings_to_keys (GBinding *binding, g_object_unref (store); filter = gtk_string_filter_new (gtk_property_expression_new (SETTINGS_TYPE_KEY, NULL, "name")); - filter_model = gtk_filter_list_model_new (G_LIST_MODEL (sort_model), filter); - g_object_unref (sort_model); - g_set_object (¤t_filter, filter); - - g_object_unref (filter); + filter_model = gtk_filter_list_model_new (G_LIST_MODEL (sort_model), filter); selection_model = gtk_no_selection_new (G_LIST_MODEL (filter_model)); g_object_unref (filter_model); diff --git a/demos/gtk-demo/main.c b/demos/gtk-demo/main.c index 722ae6fa08..bc89b017d0 100644 --- a/demos/gtk-demo/main.c +++ b/demos/gtk-demo/main.c @@ -1145,6 +1145,7 @@ activate (GApplication *app) filter_model = gtk_filter_list_model_new (G_LIST_MODEL (treemodel), NULL); filter = gtk_custom_filter_new ((GtkCustomFilterFunc)demo_filter_by_name, filter_model, NULL); gtk_filter_list_model_set_filter (filter_model, filter); + g_object_unref (filter); search_entry = GTK_WIDGET (gtk_builder_get_object (builder, "search-entry")); g_signal_connect (search_entry, "search-changed", G_CALLBACK (demo_search_changed_cb), filter); diff --git a/gtk/gtkcustompaperunixdialog.c b/gtk/gtkcustompaperunixdialog.c index 501331c99b..d16ae2e5ca 100644 --- a/gtk/gtkcustompaperunixdialog.c +++ b/gtk/gtkcustompaperunixdialog.c @@ -325,8 +325,6 @@ gtk_custom_paper_unix_dialog_init (GtkCustomPaperUnixDialog *dialog) filter = gtk_custom_filter_new (match_func, NULL, NULL); dialog->printer_list = G_LIST_MODEL (gtk_filter_list_model_new (full_list, filter)); - g_object_unref (full_list); - g_object_unref (filter); dialog->custom_paper_list = g_list_store_new (GTK_TYPE_PAGE_SETUP); gtk_print_load_custom_papers (dialog->custom_paper_list); diff --git a/gtk/gtkdropdown.c b/gtk/gtkdropdown.c index 7b169ba780..e28369850e 100644 --- a/gtk/gtkdropdown.c +++ b/gtk/gtkdropdown.c @@ -666,7 +666,7 @@ gtk_drop_down_set_model (GtkDropDown *self, GListModel *filter_model; GListModel *selection; - filter_model = G_LIST_MODEL (gtk_filter_list_model_new (model, NULL)); + filter_model = G_LIST_MODEL (gtk_filter_list_model_new (g_object_ref (model), NULL)); g_set_object (&self->filter_model, filter_model); g_object_unref (filter_model); diff --git a/gtk/gtkfilterlistmodel.c b/gtk/gtkfilterlistmodel.c index a02ad57abf..52d3c860d9 100644 --- a/gtk/gtkfilterlistmodel.c +++ b/gtk/gtkfilterlistmodel.c @@ -614,8 +614,8 @@ gtk_filter_list_model_init (GtkFilterListModel *self) /** * gtk_filter_list_model_new: - * @model: (allow-none): the model to sort - * @filter: (allow-none): filter or %NULL to not filter items + * @model: (allow-none) (transfer full): the model to sort, or %NULL + * @filter: (allow-none) (transfer full): filter or %NULL to not filter items * * Creates a new #GtkFilterListModel that will filter @model using the given * @filter. @@ -636,6 +636,10 @@ gtk_filter_list_model_new (GListModel *model, "filter", filter, NULL); + /* consume the references */ + g_clear_object (&model); + g_clear_object (&filter); + return result; } diff --git a/gtk/gtkpagesetupunixdialog.c b/gtk/gtkpagesetupunixdialog.c index 3964a1aa60..e771570b64 100644 --- a/gtk/gtkpagesetupunixdialog.c +++ b/gtk/gtkpagesetupunixdialog.c @@ -324,8 +324,6 @@ gtk_page_setup_unix_dialog_init (GtkPageSetupUnixDialog *dialog) filter = gtk_custom_filter_new (match_func, NULL, NULL); dialog->printer_list = G_LIST_MODEL (gtk_filter_list_model_new (full_list, filter)); - g_object_unref (full_list); - g_object_unref (filter); factory = gtk_signal_list_item_factory_new (); g_signal_connect (factory, "setup", G_CALLBACK (setup_printer_item), dialog); diff --git a/gtk/gtkprintunixdialog.c b/gtk/gtkprintunixdialog.c index 3c88f4cc25..09e7c1ea8b 100644 --- a/gtk/gtkprintunixdialog.c +++ b/gtk/gtkprintunixdialog.c @@ -830,7 +830,6 @@ gtk_print_unix_dialog_init (GtkPrintUnixDialog *dialog) gtk_multi_filter_append (GTK_MULTI_FILTER (filter), filter1); filtered = G_LIST_MODEL (gtk_filter_list_model_new (sorted, filter)); - g_object_unref (filter); selection = G_LIST_MODEL (gtk_single_selection_new (filtered)); gtk_single_selection_set_autoselect (GTK_SINGLE_SELECTION (selection), FALSE); diff --git a/gtk/inspector/object-tree.c b/gtk/inspector/object-tree.c index bd2585b06b..3d86e11693 100644 --- a/gtk/inspector/object-tree.c +++ b/gtk/inspector/object-tree.c @@ -1151,8 +1151,7 @@ create_root_model (GdkDisplay *display) g_object_unref (special); filter = gtk_filter_list_model_new (NULL, NULL); - custom_filter = gtk_custom_filter_new (toplevel_filter_func, - display, NULL); + custom_filter = gtk_custom_filter_new (toplevel_filter_func, display, NULL); gtk_filter_list_model_set_filter (filter, custom_filter); gtk_filter_list_model_set_model (filter, gtk_window_get_toplevels ()); g_list_store_append (list, filter); diff --git a/gtk/inspector/prop-list.c b/gtk/inspector/prop-list.c index dab74e6a00..a5b12d9a52 100644 --- a/gtk/inspector/prop-list.c +++ b/gtk/inspector/prop-list.c @@ -622,7 +622,7 @@ gtk_inspector_prop_list_set_object (GtkInspectorPropList *pl, if (GTK_IS_WIDGET (object)) g_signal_connect_object (object, "destroy", G_CALLBACK (cleanup_object), pl, G_CONNECT_SWAPPED); - filtered = G_LIST_MODEL (gtk_filter_list_model_new (G_LIST_MODEL (store), pl->priv->filter)); + filtered = G_LIST_MODEL (gtk_filter_list_model_new (G_LIST_MODEL (store), g_object_ref (pl->priv->filter))); sorted = gtk_sort_list_model_new (filtered, NULL); list = G_LIST_MODEL (gtk_no_selection_new (G_LIST_MODEL (sorted))); @@ -635,7 +635,6 @@ gtk_inspector_prop_list_set_object (GtkInspectorPropList *pl, g_object_unref (list); g_object_unref (sorted); g_object_unref (filtered); - g_object_unref (store); return TRUE; } diff --git a/tests/testcolumnview.c b/tests/testcolumnview.c index 95d298c223..bf9fb83572 100644 --- a/tests/testcolumnview.c +++ b/tests/testcolumnview.c @@ -759,7 +759,6 @@ main (int argc, char *argv[]) custom_filter = gtk_custom_filter_new (match_file, g_object_ref (search_entry), g_object_unref); filter = gtk_filter_list_model_new (G_LIST_MODEL (sort), custom_filter); g_signal_connect (search_entry, "search-changed", G_CALLBACK (search_changed_cb), custom_filter); - g_object_unref (custom_filter); gtk_column_view_set_model (GTK_COLUMN_VIEW (view), G_LIST_MODEL (filter)); @@ -771,7 +770,6 @@ main (int argc, char *argv[]) gtk_box_append (GTK_BOX (vbox), statusbar); g_object_unref (filter); - g_object_unref (sort); g_object_unref (tree); list = gtk_list_view_new_with_factory ( diff --git a/tests/testlistview.c b/tests/testlistview.c index 54cbfb5506..a8b3cc84aa 100644 --- a/tests/testlistview.c +++ b/tests/testlistview.c @@ -640,7 +640,6 @@ main (int argc, char *argv[]) custom_filter = gtk_custom_filter_new (match_file, search_entry, NULL); filter = gtk_filter_list_model_new (G_LIST_MODEL (tree), custom_filter); g_signal_connect (search_entry, "search-changed", G_CALLBACK (search_changed_cb), custom_filter); - g_object_unref (custom_filter); selectionmodel = file_info_selection_new (G_LIST_MODEL (filter)); g_object_unref (filter); @@ -654,7 +653,6 @@ main (int argc, char *argv[]) update_statusbar (GTK_STATUSBAR (statusbar)); gtk_box_append (GTK_BOX (vbox), statusbar); - g_object_unref (tree); g_object_unref (selectionmodel); gtk_widget_show (win); diff --git a/testsuite/gtk/expression.c b/testsuite/gtk/expression.c index d5a8a07802..4928827dec 100644 --- a/testsuite/gtk/expression.c +++ b/testsuite/gtk/expression.c @@ -262,8 +262,6 @@ test_nested (void) g_assert_cmpint (counter, ==, 0); g_object_unref (filtered); - g_object_unref (list); - g_object_unref (filter); gtk_expression_unref (expr); } diff --git a/testsuite/gtk/filter.c b/testsuite/gtk/filter.c index 22498bf20c..0a109e6fa3 100644 --- a/testsuite/gtk/filter.c +++ b/testsuite/gtk/filter.c @@ -189,7 +189,7 @@ new_model (guint size, { GtkFilterListModel *result; - result = gtk_filter_list_model_new (G_LIST_MODEL (new_store (1, size, 1)), filter); + result = gtk_filter_list_model_new (g_object_ref (G_LIST_MODEL (new_store (1, size, 1))), g_object_ref (filter)); return result; } diff --git a/testsuite/gtk/filterlistmodel-exhaustive.c b/testsuite/gtk/filterlistmodel-exhaustive.c index 12b9bedb55..317ac64c69 100644 --- a/testsuite/gtk/filterlistmodel-exhaustive.c +++ b/testsuite/gtk/filterlistmodel-exhaustive.c @@ -135,6 +135,10 @@ filter_list_model_new (GListModel *source, GListStore *check; guint i; + if (source) + g_object_ref (source); + if (filter) + g_object_ref (filter); model = gtk_filter_list_model_new (source, filter); check = g_list_store_new (G_TYPE_OBJECT); for (i = 0; i < g_list_model_get_n_items (G_LIST_MODEL (model)); i++) diff --git a/testsuite/gtk/filterlistmodel.c b/testsuite/gtk/filterlistmodel.c index d0e55c57bf..c2ad595174 100644 --- a/testsuite/gtk/filterlistmodel.c +++ b/testsuite/gtk/filterlistmodel.c @@ -167,8 +167,7 @@ new_model (guint size, filter = gtk_custom_filter_new (filter_func, data, NULL); else filter = NULL; - result = gtk_filter_list_model_new (G_LIST_MODEL (new_store (1, size, 1)), filter); - g_clear_object (&filter); + result = gtk_filter_list_model_new (g_object_ref (G_LIST_MODEL (new_store (1, size, 1))), filter); changes = g_string_new (""); g_object_set_qdata_full (G_OBJECT(result), changes_quark, changes, free_changes); g_signal_connect (result, "items-changed", G_CALLBACK (items_changed), changes); diff --git a/testsuite/gtk/multiselection.c b/testsuite/gtk/multiselection.c index 7d67f3ca3d..3e3fa39c77 100644 --- a/testsuite/gtk/multiselection.c +++ b/testsuite/gtk/multiselection.c @@ -627,7 +627,7 @@ test_set_model (void) store = new_store (1, 5, 1); m1 = G_LIST_MODEL (store); - m2 = G_LIST_MODEL (gtk_slice_list_model_new (m1, 0, 3)); + m2 = G_LIST_MODEL (gtk_slice_list_model_new (g_object_ref (m1), 0, 3)); selection = new_model (store); assert_selection (selection, ""); assert_selection_changes (selection, ""); diff --git a/testsuite/gtk/singleselection.c b/testsuite/gtk/singleselection.c index 90356345da..256506cb4e 100644 --- a/testsuite/gtk/singleselection.c +++ b/testsuite/gtk/singleselection.c @@ -653,7 +653,7 @@ test_set_model (void) store = new_store (1, 5, 1); m1 = G_LIST_MODEL (store); - m2 = G_LIST_MODEL (gtk_slice_list_model_new (m1, 0, 3)); + m2 = G_LIST_MODEL (gtk_slice_list_model_new (g_object_ref (m1), 0, 3)); selection = new_model (store, TRUE, TRUE); assert_selection (selection, "1"); assert_selection_changes (selection, ""); diff --git a/testsuite/gtk/slicelistmodel.c b/testsuite/gtk/slicelistmodel.c index 631444182f..61339a0783 100644 --- a/testsuite/gtk/slicelistmodel.c +++ b/testsuite/gtk/slicelistmodel.c @@ -191,7 +191,7 @@ new_model (GListStore *store, guint offset, guint size) GtkSliceListModel *result; GString *changes; - result = gtk_slice_list_model_new (G_LIST_MODEL (store), offset, size); + result = gtk_slice_list_model_new (g_object_ref (G_LIST_MODEL (store)), offset, size); changes = g_string_new (""); g_object_set_qdata_full (G_OBJECT(result), changes_quark, changes, free_changes); |