[gtk/gbsneto/filechooser-column-view: 42/47] filesystemmodel: Always set standard::file attribute




commit 1dbc0129c28782c99898ad707ca4cecb8d803cd2
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Sun Oct 9 18:50:23 2022 -0300

    filesystemmodel: Always set standard::file attribute
    
    This will help us greatly when porting GtkFileSystemModel to
    GtkDirectoryList.

 gtk/gtkfilesystemmodel.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)
---
diff --git a/gtk/gtkfilesystemmodel.c b/gtk/gtkfilesystemmodel.c
index 06fa65808a..9989c23534 100644
--- a/gtk/gtkfilesystemmodel.c
+++ b/gtk/gtkfilesystemmodel.c
@@ -366,8 +366,7 @@ node_should_be_filtered_out (GtkFileSystemModel *model, guint id)
   if (model->filter == NULL)
     return FALSE;
 
-  if (!g_file_info_has_attribute (node->info, "standard::file"))
-    g_file_info_set_attribute_object (node->info, "standard::file", G_OBJECT (node->file));
+  g_assert (g_file_info_has_attribute (node->info, "standard::file"));
 
   return !gtk_filter_match (GTK_FILTER (model->filter), node->info);
 }
@@ -1612,7 +1611,10 @@ add_file (GtkFileSystemModel *model,
   node = g_slice_alloc0 (model->node_size);
   node->file = g_object_ref (file);
   if (info)
-    node->info = g_object_ref (info);
+    {
+      g_file_info_set_attribute_object (info, "standard::file", G_OBJECT (file));
+      node->info = g_object_ref (info);
+    }
   node->frozen_add = model->frozen ? TRUE : FALSE;
 
   g_array_append_vals (model->files, node, 1);
@@ -1722,6 +1724,8 @@ _gtk_file_system_model_update_file (GtkFileSystemModel *model,
         g_value_unset (&node->values[i]);
     }
 
+  g_file_info_set_attribute_object (info, "standard::file", G_OBJECT (file));
+
   if (node->visible)
     emit_row_changed_for_node (model, id);
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]