diff --git a/ChangeLog b/ChangeLog index 90793f3142..7f8098ba12 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2005-01-19 Matthias Clasen + * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_should_respond): + In save mode, don't return paths containing nonexisting + directories. (#162443, Jean Marie Favreau) + * gtk/gtkobject.c (gtk_object_add_arg_type): Use GLib limit macros to avoid sparse warnings. Pointed out by Kjartan Maraas. diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 90793f3142..7f8098ba12 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,5 +1,9 @@ 2005-01-19 Matthias Clasen + * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_should_respond): + In save mode, don't return paths containing nonexisting + directories. (#162443, Jean Marie Favreau) + * gtk/gtkobject.c (gtk_object_add_arg_type): Use GLib limit macros to avoid sparse warnings. Pointed out by Kjartan Maraas. diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 90793f3142..7f8098ba12 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,5 +1,9 @@ 2005-01-19 Matthias Clasen + * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_should_respond): + In save mode, don't return paths containing nonexisting + directories. (#162443, Jean Marie Favreau) + * gtk/gtkobject.c (gtk_object_add_arg_type): Use GLib limit macros to avoid sparse warnings. Pointed out by Kjartan Maraas. diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c index 110da70ec9..91ba27d47c 100644 --- a/gtk/gtkfilechooserdefault.c +++ b/gtk/gtkfilechooserdefault.c @@ -5370,7 +5370,19 @@ gtk_file_chooser_default_should_respond (GtkFileChooserEmbed *chooser_embed) retval = FALSE; } else - retval = TRUE; + { + /* check that everything up to the last component exists */ + gtk_file_path_free (path); + path = gtk_file_path_copy (_gtk_file_chooser_entry_get_current_folder (entry)); + is_folder = check_is_folder (impl->file_system, path, NULL); + if (!is_folder) + { + change_folder_and_display_error (impl, path); + retval = FALSE; + } + else + retval = TRUE; + } gtk_file_path_free (path); return retval;