]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/fileconf.cpp
static wxFile::Access() added
[wxWidgets.git] / src / common / fileconf.cpp
index 0bf48eeb78eb9730b6b70a6fa91f9b04b3404e9a..24d10b9833054977f866c2928537af6b676d4334 100644 (file)
@@ -220,18 +220,18 @@ wxFileConfig::wxFileConfig(const wxString& strLocal, const wxString& strGlobal)
             : m_strLocalFile(strLocal), m_strGlobalFile(strGlobal)
 {
   // if the path is not absolute, prepend the standard directory to it
-
-  if ( !strLocal.IsEmpty() && !wxIsPathSeparator(strLocal[0u]) )
+  if ( !strLocal.IsEmpty() && !wxIsAbsolutePath(strLocal) )
   {
      m_strLocalFile = GetLocalDir();
      m_strLocalFile << strLocal;
   }
   
-  if ( !strGlobal.IsEmpty() && !wxIsPathSeparator(strGlobal[0u]) )
+  if ( !strGlobal.IsEmpty() && !wxIsAbsolutePath(strGlobal) )
   {
      m_strGlobalFile = GetGlobalDir();
      m_strGlobalFile << strGlobal;
   }
+
   Init();
 }
 
@@ -532,6 +532,8 @@ bool wxFileConfig::Read(wxString   *pstr,
 
   ConfigEntry *pEntry = m_pCurrentGroup->FindEntry(path.Name());
   if (pEntry == NULL) {
+    if( IsRecordingDefaults() )
+      ((wxFileConfig *)this)->Write(szKey,szDefault);
     *pstr = ExpandEnvVars(szDefault);
     return FALSE;
   }
@@ -570,7 +572,7 @@ bool wxFileConfig::Write(const char *szKey, const char *szValue)
   wxString strName = path.Name();
   if ( strName.IsEmpty() ) {
     // setting the value of a group is an error
-    wxASSERT_MSG( IsEmpty(szValue), "can't set value of a group!" );
+    wxASSERT_MSG( IsEmpty(szValue), _("can't set value of a group!") );
 
     // ... except if it's empty in which case it's a way to force it's creation
     m_pCurrentGroup->SetDirty();