]> Pileus Git - ~andy/gtk/commitdiff
current_folder can be NULL here, do not try to reference it (Bug #540235)
authorCarlos Garnacho <carlos@imendio.com>
Thu, 26 Jun 2008 09:41:13 +0000 (09:41 +0000)
committerCarlos Garnacho <carlosg@src.gnome.org>
Thu, 26 Jun 2008 09:41:13 +0000 (09:41 +0000)
2008-06-26  Carlos Garnacho  <carlos@imendio.com>

        * gtk/gtkfilechooserdefault.c
        (gtk_file_chooser_default_get_current_folder): current_folder can be
        NULL here, do not try to reference it (Bug #540235)
        (gtk_file_chooser_default_get_files): Deal better with
        gtk_file_chooser_default_get_current_folder() being able to return
        NULL.

svn path=/trunk/; revision=20687

ChangeLog
gtk/gtkfilechooserdefault.c

index 1ce7f7db1b7cf77b6a21597bc70216583be64554..cbaeee26bce446222aa54e2c34b136c2bc3c7d75 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2008-06-26  Carlos Garnacho  <carlos@imendio.com>
+
+       * gtk/gtkfilechooserdefault.c
+       (gtk_file_chooser_default_get_current_folder): current_folder can be
+       NULL here, do not try to reference it (Bug #540235)
+       (gtk_file_chooser_default_get_files): Deal better with
+       gtk_file_chooser_default_get_current_folder() being able to return
+       NULL.
+
 2008-06-26  Michael Natterer  <mitch@imendio.com>
 
        * gtk/gtktextutil.c (_gtk_text_util_append_special_char_menuitems):
index d4c12df49b6ea569355aaa2b11edb209cfbd6c20..08c0c2f9e2b5f1f298850c268aa14dc07183d009 100644 (file)
@@ -7006,7 +7006,10 @@ gtk_file_chooser_default_get_current_folder (GtkFileChooser *chooser)
       return file;
     }
 
-  return g_object_ref (impl->current_folder);
+  if (impl->current_folder)
+    return g_object_ref (impl->current_folder);
+
+  return NULL;
 }
 
 static void
@@ -7389,7 +7392,12 @@ gtk_file_chooser_default_get_files (GtkFileChooser *chooser)
   if (impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER &&
       info.result == NULL)
     {
-      info.result = g_slist_prepend (info.result, _gtk_file_chooser_get_current_folder_file (chooser));
+      GFile *current_folder;
+
+      current_folder = _gtk_file_chooser_get_current_folder_file (chooser);
+
+      if (current_folder)
+        info.result = g_slist_prepend (info.result, current_folder);
     }
 
   return g_slist_reverse (info.result);