From bb0603d44946e45c6a8e6bbec57824a07e7fe024 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 19 Jan 2005 21:06:32 +0000 Subject: In save mode, don't return paths containing nonexisting directories. 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) --- ChangeLog | 4 ++++ ChangeLog.pre-2-10 | 4 ++++ ChangeLog.pre-2-8 | 4 ++++ gtk/gtkfilechooserdefault.c | 14 +++++++++++++- 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 2c68aa76d..4e7a37b55 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 2c68aa76d..4e7a37b55 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 2c68aa76d..4e7a37b55 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 110da70ec..91ba27d47 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; -- cgit v1.2.1