| Index: ui/base/dialogs/gtk/select_file_dialog_impl_gtk.cc
|
| ===================================================================
|
| --- ui/base/dialogs/gtk/select_file_dialog_impl_gtk.cc (revision 151539)
|
| +++ ui/base/dialogs/gtk/select_file_dialog_impl_gtk.cc (working copy)
|
| @@ -403,10 +403,16 @@
|
| // Since the file may not already exist, we use
|
| // set_current_folder() followed by set_current_name(), as per the
|
| // recommendation of the GTK docs.
|
| - gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog),
|
| - default_path.DirName().value().c_str());
|
| - gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(dialog),
|
| - default_path.BaseName().value().c_str());
|
| + if (CallDirectoryExistsOnUIThread(default_path)) {
|
| + gtk_file_chooser_set_current_folder(
|
| + GTK_FILE_CHOOSER(dialog), default_path.value().c_str());
|
| + gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(dialog), "");
|
| + } else {
|
| + gtk_file_chooser_set_current_folder(
|
| + GTK_FILE_CHOOSER(dialog), default_path.DirName().value().c_str());
|
| + gtk_file_chooser_set_current_name(
|
| + GTK_FILE_CHOOSER(dialog), default_path.BaseName().value().c_str());
|
| + }
|
| } else if (!last_saved_path_->empty()) {
|
| gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog),
|
| last_saved_path_->value().c_str());
|
|
|