]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/iniconf.cpp
oops, more fixes needed
[wxWidgets.git] / src / msw / iniconf.cpp
index 9200b5263d640047063d47e8f9949405957395a0..0184d5ab1f835dfb925985d8903c2bfc1fa4b0c7 100644 (file)
@@ -9,7 +9,7 @@
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #pragma implementation "iniconf.h"
 #endif
 
@@ -35,6 +35,7 @@
 #include  "wx/dynarray.h"
 #include  "wx/log.h"
 #include  "wx/config.h"
+#include  "wx/file.h"
 
 #include  "wx/msw/iniconf.h"
 
@@ -380,12 +381,10 @@ bool wxIniConfig::Flush(bool /* bCurrentOnly */)
 bool wxIniConfig::DeleteEntry(const wxString& szKey, bool bGroupIfEmptyAlso)
 {
   // passing NULL as value to WritePrivateProfileString deletes the key
-//  if ( !Write(szKey, (const char *)NULL) )
-//    return FALSE;
   wxConfigPathChanger path(this, szKey);
   wxString strKey = GetPrivateKeyName(path.Name());
 
-  if (WritePrivateProfileString(m_strGroup, szKey,
+  if (WritePrivateProfileString(m_strGroup, strKey,
                                          (const char*) NULL, m_strLocalFilename) == 0)
     return FALSE;
 
@@ -441,7 +440,7 @@ bool wxIniConfig::DeleteAll()
   wxString strFile = szBuf;
   strFile << '\\' << m_strLocalFilename;
 
-  if ( !wxRemoveFile(strFile) ) {
+  if ( wxFile::Exists(strFile) && !wxRemoveFile(strFile) ) {
     wxLogSysError(_("Can't delete the INI file '%s'"), strFile.c_str());
     return FALSE;
   }