diff options
author | Federico Mena Quintero <federico@ximian.com> | 2005-10-19 16:25:42 +0000 |
---|---|---|
committer | Federico Mena Quintero <federico@src.gnome.org> | 2005-10-19 16:25:42 +0000 |
commit | 647ba5b40dae93627846cc7ad3d077a8109d04b8 (patch) | |
tree | e543ad9ca4bf72aad0d519904994d3eaf93393d4 /gtk/gtkfilechooserdefault.c | |
parent | fcacded8ff3a23560feba04199005f81aa6a8a74 (diff) | |
download | gtk+-647ba5b40dae93627846cc7ad3d077a8109d04b8.tar.gz |
Fixes bug #317999:
2005-10-18 Federico Mena Quintero <federico@ximian.com>
Fixes bug #317999:
* tests/autotestfilechooser.c
(test_button_folder_states_for_action): Test that we have either
$cwd or the explicitly-set folder.
(test_reload_sequence): Likewise.
* gtk/gtkfilechooserdefault.c
(gtk_file_chooser_default_get_current_folder): If our reload_state
is RELOAD_EMPTY, return a GtkFilePath corresponding to $cwd.
Diffstat (limited to 'gtk/gtkfilechooserdefault.c')
-rw-r--r-- | gtk/gtkfilechooserdefault.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c index dc1649462b..6eb561667b 100644 --- a/gtk/gtkfilechooserdefault.c +++ b/gtk/gtkfilechooserdefault.c @@ -86,7 +86,7 @@ #endif /* Profiling stuff */ -#undef PROFILE_FILE_CHOOSER +#define PROFILE_FILE_CHOOSER #ifdef PROFILE_FILE_CHOOSER @@ -5415,6 +5415,21 @@ gtk_file_chooser_default_get_current_folder (GtkFileChooser *chooser) { GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser); + if (impl->reload_state == RELOAD_EMPTY) + { + char *current_working_dir; + GtkFilePath *path; + + /* We are unmapped, or we had an error while loading the last folder. We'll return + * the $cwd since once we get (re)mapped, we'll load $cwd anyway unless the caller + * explicitly calls set_current_folder() on us. + */ + current_working_dir = g_get_current_dir (); + path = gtk_file_system_filename_to_path (impl->file_system, current_working_dir); + g_free (current_working_dir); + return path; + } + return gtk_file_path_copy (impl->current_folder); } |