]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/filedlg.cpp
Second part of #15224 fix: AddRows, AddColumns (dghart)
[wxWidgets.git] / src / gtk / filedlg.cpp
index 6f3b775ada9bf10007833f47d5bde4277197fc5e..ce41843b03e199d5039cee24fe11e6dab0882cc6 100644 (file)
@@ -2,7 +2,6 @@
 // Name:        src/gtk/filedlg.cpp
 // Purpose:     native implementation of wxFileDialog
 // Author:      Robert Roebling, Zbigniew Zagorski, Mart Raudsepp
-// Id:          $Id$
 // Copyright:   (c) 1998 Robert Roebling, 2004 Zbigniew Zagorski, 2005 Mart Raudsepp
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
@@ -268,11 +267,18 @@ bool wxFileDialog::Create(wxWindow *parent, const wxString& message,
     if ( !wildCard.empty() && !defaultFileName.empty() &&
             !wxFileName(defaultFileName).HasExt() )
     {
-        // append the default extension to the initial file name: GTK won't do
-        // it for us by default (unlike e.g. MSW)
-        const wxString defaultExt = m_fc.GetCurrentWildCard().AfterFirst('.');
-        if ( defaultExt.find_first_of("?*") == wxString::npos )
-            defaultFileNameWithExt += "." + defaultExt;
+        // append the default extension, if any, to the initial file name: GTK
+        // won't do it for us by default (unlike e.g. MSW)
+        const wxFileName fnWC(m_fc.GetCurrentWildCard());
+        if ( fnWC.HasExt() )
+        {
+            // Notice that we shouldn't append the extension if it's a wildcard
+            // because this is not useful: the user would need to change it to use
+            // some fixed extension anyhow.
+            const wxString& ext = fnWC.GetExt();
+            if ( ext.find_first_of("?*") == wxString::npos )
+                defaultFileNameWithExt << "." << ext;
+        }
     }