maplistmodel: Make constructor transfer full

This is for consistency with other wrapping list constructors.
We want them all to be transfer full, allow-none.

Update all callers.
This commit is contained in:
Matthias Clasen 2020-07-26 14:20:25 -04:00
parent 1e8be87026
commit 32b8fe40bb
3 changed files with 6 additions and 2 deletions

View File

@ -412,7 +412,7 @@ gtk_map_list_model_augment (GtkRbTree *map,
/** /**
* gtk_map_list_model_new: * gtk_map_list_model_new:
* @model: (allow-none): The model to map or %NULL for none * @model: (transfer full) (allow-none): The model to map or %NULL for none
* @map_func: (allow-none): map function or %NULL to not map items * @map_func: (allow-none): map function or %NULL to not map items
* @user_data: (closure): user data passed to @map_func * @user_data: (closure): user data passed to @map_func
* @user_destroy: destroy notifier for @user_data * @user_destroy: destroy notifier for @user_data
@ -435,6 +435,9 @@ gtk_map_list_model_new (GListModel *model,
"model", model, "model", model,
NULL); NULL);
/* consume the reference */
g_clear_object (&model);
if (map_func) if (map_func)
gtk_map_list_model_set_map_func (result, map_func, user_data, user_destroy); gtk_map_list_model_set_map_func (result, map_func, user_data, user_destroy);

View File

@ -244,7 +244,6 @@ gtk_inspector_controllers_set_object (GtkInspectorControllers *self,
gtk_property_lookup_list_model_set_object (self->model, object); gtk_property_lookup_list_model_set_object (self->model, object);
map_model = gtk_map_list_model_new (G_LIST_MODEL (self->model), map_to_controllers, NULL, NULL); map_model = gtk_map_list_model_new (G_LIST_MODEL (self->model), map_to_controllers, NULL, NULL);
g_object_unref (self->model);
flatten_model = gtk_flatten_list_model_new (G_LIST_MODEL (map_model)); flatten_model = gtk_flatten_list_model_new (G_LIST_MODEL (map_model));

View File

@ -196,6 +196,8 @@ new_model (GListStore *store)
GtkMapListModel *result; GtkMapListModel *result;
GString *changes; GString *changes;
if (store)
g_object_ref (store);
result = gtk_map_list_model_new (G_LIST_MODEL (store), map_multiply, GUINT_TO_POINTER (2), NULL); result = gtk_map_list_model_new (G_LIST_MODEL (store), map_multiply, GUINT_TO_POINTER (2), NULL);
changes = g_string_new (""); changes = g_string_new ("");
g_object_set_qdata_full (G_OBJECT(result), changes_quark, changes, free_changes); g_object_set_qdata_full (G_OBJECT(result), changes_quark, changes, free_changes);