]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/filedlg.cpp
Compilation fixes for Nano-X
[wxWidgets.git] / src / msw / filedlg.cpp
index 249f674d4e2b44ab67cb2a2a114088e8a97f3b09..c50dfe1f0d9708b968fcbcc0f6965e358fcc26ab 100644 (file)
@@ -398,24 +398,6 @@ int wxFileDialog::ShowModal()
                                             : (GetOpenFileName(&of) != 0);
         }
     }
-
-#if wxUSE_UNICODE_MSLU && defined(OFN_EXPLORER)
-    // VS: these's a bug in unicows.dll - when multiple files are
-    //     selected, of.nFileOffset doesn't point to the first 
-    //     filename but rather to the last component of directory
-    //     name. Let's try to fix it:
-    if ( (m_dialogStyle & wxMULTIPLE) &&
-         (fileNameBuffer[of.nFileOffset-1] != wxT('\0')) &&
-         wxGetOsVersion() == wxWIN95 /*using unicows.dll*/)
-    {
-        if ( wxDirExists(fileNameBuffer) )
-        {
-            // 1st component is dir => multiple files selected
-            of.nFileOffset = wxStrlen(fileNameBuffer)+1;
-        }
-    }
-#endif // wxUSE_UNICODE_MSLU
-
 #endif // __WIN32__
 
     if ( success )
@@ -471,6 +453,17 @@ int wxFileDialog::ShowModal()
             {
                 // User has typed a filename without an extension:
 
+                // A filename can end in a "." here ("abc."), this means it
+                // does not have an extension. Because later on a "." with
+                // the default extension is appended we remove the "." if
+                // filename ends with one (We don't want files called
+                // "abc..ext")
+                int idx = wxStrlen(fileNameBuffer) - 1;
+                if ( fileNameBuffer[idx] == wxT('.') )
+                {
+                    fileNameBuffer[idx] = wxT('\0');
+                }
+
                 int   maxFilter = (int)(of.nFilterIndex*2L-1L);
                 extension = filterBuffer;