diff --git a/src/common/config.cpp b/src/common/config.cpp index feccd99ab0..be417c4243 100644 --- a/src/common/config.cpp +++ b/src/common/config.cpp @@ -246,7 +246,9 @@ wxConfigPathChanger::wxConfigPathChanger(const wxConfigBase *pContainer, m_bChanged = TRUE; m_strName = strEntry.AfterLast(wxCONFIG_PATH_SEPARATOR); m_strOldPath = m_pContainer->GetPath(); - m_strOldPath += wxCONFIG_PATH_SEPARATOR; + if ( m_strOldPath.Len() == 0 || + m_strOldPath.Last() != wxCONFIG_PATH_SEPARATOR ) + m_strOldPath += wxCONFIG_PATH_SEPARATOR; m_pContainer->SetPath(strPath); } else { diff --git a/src/msw/regconf.cpp b/src/msw/regconf.cpp index 4b9844cfbf..fefb7b86c9 100644 --- a/src/msw/regconf.cpp +++ b/src/msw/regconf.cpp @@ -221,7 +221,11 @@ void wxRegConfig::SetPath(const wxString& strPath) { strFullPath.reserve(2*m_strPath.length()); - strFullPath << m_strPath << wxCONFIG_PATH_SEPARATOR << strPath; + strFullPath << m_strPath; + if ( strFullPath.Len() == 0 || + strFullPath.Last() != wxCONFIG_PATH_SEPARATOR ) + strFullPath << wxCONFIG_PATH_SEPARATOR; + strFullPath << strPath; } // simplify it: we need to handle ".." here