From 4c84a0dc491c8da8c3f975fb986ae52a9ac78fe5 Mon Sep 17 00:00:00 2001 From: Robert Roebling Date: Sat, 5 May 2007 13:59:12 +0000 Subject: [PATCH] Fix wxFD_FILE_MUST_EXIST git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45823 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/generic/filedlgg.cpp | 2 ++ src/gtk/filedlg.cpp | 11 +++++++++++ 2 files changed, 13 insertions(+) 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) {