]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/fileconf.cpp
VZ: I removed (CASTWNDPROC) from ::CallWndProc - it doesn't compile here with it
[wxWidgets.git] / src / common / fileconf.cpp
index 46139022fd5012ee2946fd54a3115ca3474c3029..7cc86f423d7e151bf5bd30c6fe887eed8319b02d 100644 (file)
@@ -124,7 +124,7 @@ wxString wxFileConfig::GetLocalDir()
         strDir << szHome;
     #else   // Win16
       // Win16 has no idea about home, so use the current directory instead
-      strDir = ".\\"; 
+      strDir = ".\\";
     #endif  // WIN16/32
   #endif  // UNIX/Win
 
@@ -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;
   }
@@ -671,17 +673,13 @@ bool wxFileConfig::DeleteAll()
 {
   CleanUp();
 
-  m_strLocalFile = m_strGlobalFile = "";
-  Init();
-
   const char *szFile = m_strLocalFile;
 
   if ( remove(szFile) == -1 )
     wxLogSysError(_("can't delete user configuration file '%s'"), szFile);
 
-  szFile = m_strGlobalFile;
-  if ( remove(szFile) )
-    wxLogSysError(_("can't delete system configuration file '%s'"), szFile);
+  m_strLocalFile = m_strGlobalFile = "";
+  Init();
 
   return TRUE;
 }
@@ -1342,8 +1340,10 @@ wxString FilterOut(const wxString& str)
         break;
 
       case '"':
-        if ( bQuote )
+        if ( bQuote ) {
           c = '"';
+          break;
+        }
         //else: fall through
 
       default: