From 26001fdbeea1db1ae6765b17be675ef44f0d4b41 Mon Sep 17 00:00:00 2001 From: Robert Roebling Date: Sat, 5 May 2007 13:53:12 +0000 Subject: [PATCH] Fixed [ 1712998 ] wxFD_FILE_MUST_EXIST does nothing on GTK (broken both in GTK+ and generic code). git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@45821 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/generic/filedlgg.cpp | 1 + src/gtk/filedlg.cpp | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/src/generic/filedlgg.cpp b/src/generic/filedlgg.cpp index 2f493b2e32..6fdb94bf8a 100644 --- a/src/generic/filedlgg.cpp +++ b/src/generic/filedlgg.cpp @@ -1471,6 +1471,7 @@ 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 65cf3a2de6..2c30ddd7a5 100644 --- a/src/gtk/filedlg.cpp +++ b/src/gtk/filedlg.cpp @@ -65,6 +65,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) {