X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2eb10e2a17a02acaaa32a41304243999f3a862a1..7848088476db284a94f19eeb24411b45d676ac46:/src/msw/iniconf.cpp diff --git a/src/msw/iniconf.cpp b/src/msw/iniconf.cpp index 9200b5263d..0184d5ab1f 100644 --- a/src/msw/iniconf.cpp +++ b/src/msw/iniconf.cpp @@ -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; }