gtk2/gtk2-check-attribute.patch

55 lines
2.5 KiB
Diff
Raw Normal View History

diff -ru orig/gtk/gtkfilechooserdefault.c mod/gtk/gtkfilechooserdefault.c
--- orig/gtk/gtkfilechooserdefault.c 2020-12-21 02:09:37.000000000 +0100
+++ mod/gtk/gtkfilechooserdefault.c 2023-11-29 13:03:45.032522071 +0100
@@ -6378,10 +6378,12 @@
if (!_gtk_file_system_model_iter_is_visible (fsmodel, &iter))
{
GFileInfo *info = _gtk_file_system_model_get_info (fsmodel, &iter);
+ gboolean has_is_hidden = g_file_info_has_attribute (info, "standard::is-hidden");
+ gboolean has_is_backup = g_file_info_has_attribute (info, "standard::is-backup");
if (!enabled_hidden &&
- (g_file_info_get_is_hidden (info) ||
- g_file_info_get_is_backup (info)))
+ ((has_is_hidden && g_file_info_get_is_hidden (info)) ||
+ (has_is_backup && g_file_info_get_is_backup (info))))
{
g_object_set (impl, "show-hidden", TRUE, NULL);
enabled_hidden = TRUE;
diff -ru orig/gtk/gtkfilesystemmodel.c mod/gtk/gtkfilesystemmodel.c
--- orig/gtk/gtkfilesystemmodel.c 2020-12-21 02:09:37.000000000 +0100
+++ mod/gtk/gtkfilesystemmodel.c 2023-11-29 13:03:50.525885624 +0100
@@ -444,13 +444,18 @@
node_should_be_visible (GtkFileSystemModel *model, guint id, gboolean filtered_out)
{
FileModelNode *node = get_node (model, id);
+ gboolean has_is_hidden, has_is_backup;
gboolean result;
if (node->info == NULL)
return FALSE;
+
+ has_is_hidden = g_file_info_has_attribute (node->info, "standard::is-hidden");
+ has_is_backup = g_file_info_has_attribute (node->info, "standard::is-backup");
if (!model->show_hidden &&
- (g_file_info_get_is_hidden (node->info) || g_file_info_get_is_backup (node->info)))
+ ((has_is_hidden && g_file_info_get_is_hidden (node->info)) ||
+ (has_is_backup && g_file_info_get_is_backup (node->info))))
return FALSE;
if (_gtk_file_info_consider_as_directory (node->info))
diff -ru orig/gtk/gtkpathbar.c mod/gtk/gtkpathbar.c
--- orig/gtk/gtkpathbar.c 2020-12-21 02:09:37.000000000 +0100
+++ mod/gtk/gtkpathbar.c 2023-11-29 13:03:55.749247694 +0100
@@ -1659,7 +1659,8 @@
}
display_name = g_file_info_get_display_name (info);
- is_hidden = g_file_info_get_is_hidden (info) || g_file_info_get_is_backup (info);
+ is_hidden = g_file_info_get_attribute_boolean (info, "standard::is-hidden") ||
+ g_file_info_get_attribute_boolean (info, "standard::is-backup");
gtk_widget_push_composite_child ();
button_data = make_directory_button (file_info->path_bar, display_name,