X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7482b22003c03f7aa3335aec271b5fcb48e2693d..a7ac4461ab64212a536a8dabffc2ad65ef573a5f:/src/msw/filedlg.cpp diff --git a/src/msw/filedlg.cpp b/src/msw/filedlg.cpp index b302e60220..eaed27850c 100644 --- a/src/msw/filedlg.cpp +++ b/src/msw/filedlg.cpp @@ -106,8 +106,8 @@ wxString wxFileSelector(const char *title, if( i-is-1 > 0 && is+1 < filter2.Len() ) { -// if( filter2.Mid(is+1,i-is-1).Contains(defaultExtension) ) - if( filter2.Mid(is+1,i-is-1) == defaultExtension ) + if( filter2.Mid(is+1,i-is-1).Contains(defaultExtension) ) +// if( filter2.Mid(is+1,i-is-1) == defaultExtension ) { filterFind = filterIndex; break; @@ -241,7 +241,11 @@ int wxFileDialog::ShowModal(void) */ //======================================================================= - wxString theFilter = ( Strlen(m_wildCard) == 0 ) ? wxString("*.*") : m_wildCard; + wxString theFilter; + if ( Strlen(m_wildCard) == 0 ) + theFilter = wxString("*.*"); + else + theFilter = m_wildCard ; wxString filterBuffer; if ( !strchr( theFilter, '|' ) ) { // only one filter ==> default text @@ -251,10 +255,13 @@ int wxFileDialog::ShowModal(void) else { // more then one filter filterBuffer = theFilter; - for ( unsigned int i = 0; i < filterBuffer.Len(); i++ ) { - if ( filterBuffer.GetChar(i) == '|' ) { - filterBuffer[i] = '\0'; - } + } + + filterBuffer += "|"; + // Replace | with \0 + for ( unsigned int i = 0; i < filterBuffer.Len(); i++ ) { + if ( filterBuffer.GetChar(i) == '|' ) { + filterBuffer[i] = '\0'; } }