[nautilus] view-model: Stop freeing already free model on view-item dispose
- From: António Fernandes <antoniof src gnome org>
 
- To: commits-list gnome org
 
- Cc: 
 
- Subject: [nautilus] view-model: Stop freeing already free model on view-item dispose
 
- Date: Sun, 29 May 2022 21:16:18 +0000 (UTC)
 
commit 39e98edca46af9bb4e6e32147a20aa8d20f2c356
Author: Corey Berla <corey berla me>
Date:   Sun May 29 07:14:48 2022 -0700
    view-model: Stop freeing already free model on view-item dispose
    
    When view-item is disposed (i.e. switching from grid view to list view)
    assertions are failed when attempting to free self->internal_model.
    The GtkMultiSelection self->selection_model took ownership of
    internal_model and thus already freed it on dispose.  Increase
    ref count when creating internal_model.
    
    Fixes: https://gitlab.gnome.org/GNOME/nautilus/-/issues/2148
 src/nautilus-view-model.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
---
diff --git a/src/nautilus-view-model.c b/src/nautilus-view-model.c
index 947bfa2c2..69cdeb0f8 100644
--- a/src/nautilus-view-model.c
+++ b/src/nautilus-view-model.c
@@ -214,7 +214,7 @@ constructed (GObject *object)
     G_OBJECT_CLASS (nautilus_view_model_parent_class)->constructed (object);
 
     self->internal_model = g_list_store_new (NAUTILUS_TYPE_VIEW_ITEM_MODEL);
-    self->selection_model = gtk_multi_selection_new (G_LIST_MODEL (self->internal_model));
+    self->selection_model = gtk_multi_selection_new (g_object_ref (G_LIST_MODEL (self->internal_model)));
     self->map_files_to_model = g_hash_table_new (NULL, NULL);
 
     g_signal_connect_swapped (self->internal_model, "items-changed",
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]