From 51140f2b3a79dde4c3f8db589d0d9fd39df42aaf Mon Sep 17 00:00:00 2001 From: Corey Berla Date: Mon, 15 May 2023 13:10:21 -0700 Subject: [PATCH] filesystemmodel: Ignore changes on the parent directory The filesystemmodel tracks changes and additions to child files through G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED. This event will also occur if the parent directory is changed. Since the parent directory doesn't exist in the model, it creates a non-existent item. Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4233 --- gtk/gtkfilesystemmodel.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gtk/gtkfilesystemmodel.c b/gtk/gtkfilesystemmodel.c index 6dca1cb999..624b9a0c74 100644 --- a/gtk/gtkfilesystemmodel.c +++ b/gtk/gtkfilesystemmodel.c @@ -748,7 +748,9 @@ gtk_file_system_model_monitor_change (GFileMonitor * monitor, case G_FILE_MONITOR_EVENT_CREATED: case G_FILE_MONITOR_EVENT_CHANGED: case G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED: - /* We can treat all of these the same way */ + if (g_file_equal (file, model->dir)) + return; + /* We can treat all children the same way */ g_file_query_info_async (file, model->attributes, G_FILE_QUERY_INFO_NONE, -- 2.30.2