filedialog: Don't assert too much
authorMatthias Clasen <mclasen@redhat.com>
Sun, 23 Jul 2023 16:30:38 +0000 (12:30 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Sun, 23 Jul 2023 16:33:47 +0000 (12:33 -0400)
The GtkFileDialog code was asserting that
we get exactly one file back. But the function
is nullable anyway, so lets just return NULL
if we don't have a file.

Fixes: #5975
gtk/gtkfiledialog.c

index 2fe8a58462176da846b4725635aa9f6f890dca2f..2b25842d15436b3ae632956baefc3acd76d42ae1 100644 (file)
@@ -887,11 +887,11 @@ finish_file_op (GtkFileDialog  *self,
   files = g_task_propagate_pointer (task, error);
   if (files)
     {
-      GFile *file;
+      GFile *file = NULL;
 
-      g_assert (g_list_model_get_n_items (files) == 1);
+      if (g_list_model_get_n_items (files) > 0)
+        file = g_list_model_get_item (files, 0);
 
-      file = g_list_model_get_item (files, 0);
       g_object_unref (files);
 
       return file;