From 3a2ce620e23096447b228bc5d0d7bc9291c57e25 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 11 Oct 2022 23:32:35 -0400 Subject: [PATCH] filesystemmodel: Fix a possible problem If the async query fails to reproduce a file info, we still need to thaw the model, otherwise it ends up frozen forever. This was deduced by reading the code, I haven't actually seen it happen. --- gtk/gtkfilesystemmodel.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/gtk/gtkfilesystemmodel.c b/gtk/gtkfilesystemmodel.c index 87cd5d4ca0..d937f23f29 100644 --- a/gtk/gtkfilesystemmodel.c +++ b/gtk/gtkfilesystemmodel.c @@ -607,22 +607,19 @@ query_done_helper (GObject * object, gpointer data, gboolean do_thaw_updates) { - GtkFileSystemModel *model; + GtkFileSystemModel *model = GTK_FILE_SYSTEM_MODEL (data); GFile *file = G_FILE (object); GFileInfo *info; info = g_file_query_info_finish (file, res, NULL); - if (info == NULL) - return; - - model = GTK_FILE_SYSTEM_MODEL (data); - - _gtk_file_system_model_update_file (model, file, info); + if (info) + { + _gtk_file_system_model_update_file (model, file, info); + g_object_unref (info); + } if (do_thaw_updates) thaw_updates (model); - - g_object_unref (info); } static void -- 2.30.2