diff --git a/src/generic/filedlgg.cpp b/src/generic/filedlgg.cpp index 90c086fd97..f98e793ab9 100644 --- a/src/generic/filedlgg.cpp +++ b/src/generic/filedlgg.cpp @@ -1473,6 +1473,8 @@ void wxGenericFileDialog::HandleAction( const wxString &fn ) { wxMessageBox(_("Please choose an existing file."), _("Error"), wxOK | wxICON_ERROR ); + + return; } SetPath( filename ); diff --git a/src/gtk/filedlg.cpp b/src/gtk/filedlg.cpp index 1e6fef80a3..30395b73f0 100644 --- a/src/gtk/filedlg.cpp +++ b/src/gtk/filedlg.cpp @@ -59,6 +59,17 @@ static void gtk_filedialog_ok_callback(GtkWidget *widget, wxFileDialog *dialog) } } + if (style & wxFD_FILE_MUST_EXIST) + { + if ( !g_file_test(filename, G_FILE_TEST_EXISTS) ) + { + wxMessageDialog dlg( dialog, _("Please choose an existing file."), + _("Error"), wxOK| wxICON_ERROR); + dlg.ShowModal(); + return; + } + } + // change to the directory where the user went if asked if (style & wxFD_CHANGE_DIR) {