From: Matthias Clasen Date: Mon, 6 Feb 2023 21:14:43 +0000 (+0100) Subject: filedialog: Robustness fixes X-Git-Tag: archive/raspbian/4.12.3+ds-1+rpi1~1^2^2^2~22^2~7^2~28^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=f8321029fc65c7b80261cad132dda8af29609b86;p=gtk4.git filedialog: Robustness fixes This code was not working well. --- diff --git a/gtk/gtkfiledialog.c b/gtk/gtkfiledialog.c index 84c038c457..8b9fc21a6a 100644 --- a/gtk/gtkfiledialog.c +++ b/gtk/gtkfiledialog.c @@ -694,7 +694,7 @@ gtk_file_dialog_set_initial_file (GtkFileDialog *self, GFile *folder; GFileInfo *info; - if (g_file_equal (self->initial_file, file)) + if (self->initial_file && g_file_equal (self->initial_file, file)) return; g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_INITIAL_FILE]); @@ -707,7 +707,7 @@ gtk_file_dialog_set_initial_file (GtkFileDialog *self, g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_INITIAL_FOLDER]); info = g_file_query_info (file, G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME, 0, NULL, NULL); - if (g_file_info_get_edit_name (info) != NULL) + if (info && g_file_info_get_edit_name (info) != NULL) { if (g_set_str (&self->initial_name, g_file_info_get_edit_name (info))) g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_INITIAL_NAME]); @@ -724,7 +724,7 @@ gtk_file_dialog_set_initial_file (GtkFileDialog *self, g_free (name); g_free (relative); } - g_object_unref (info); + g_clear_object (&info); g_object_unref (folder); } else