X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a3b466481eac25cbef1d35aaf6ee9d94167a07b9..b82827dd43caa489eade15cc02edef7fb79e8c20:/src/msw/registry.cpp diff --git a/src/msw/registry.cpp b/src/msw/registry.cpp index 114169fad1..5d44fc5a73 100644 --- a/src/msw/registry.cpp +++ b/src/msw/registry.cpp @@ -27,9 +27,10 @@ #include "wx/string.h" #include "wx/intl.h" #include "wx/log.h" - #include "wx/config.h" // for wxExpandEnvVars +#ifndef __WIN16__ + // Windows headers /* #define STRICT @@ -144,7 +145,7 @@ wxRegKey::StdKey wxRegKey::ExtractKeyName(wxString& strKey) { wxString strRoot = strKey.Left(REG_SEPARATOR); - HKEY hRootKey; + HKEY hRootKey = 0; size_t ui; for ( ui = 0; ui < nStdKeys; ui++ ) { if ( strRoot.CmpNoCase(aStdKeys[ui].szName) == 0 || @@ -194,7 +195,7 @@ wxRegKey::wxRegKey() wxRegKey::wxRegKey(const wxString& strKey) : m_strKey(strKey) { m_hRootKey = (WXHKEY) aStdKeys[ExtractKeyName(m_strKey)].hkey; - m_hKey = NULL; + m_hKey = (WXHKEY) NULL; m_dwLastError = 0; } @@ -203,7 +204,7 @@ wxRegKey::wxRegKey(StdKey keyParent, const wxString& strKey) : m_strKey(strKey) { RemoveTrailingSeparator(m_strKey); m_hRootKey = (WXHKEY) aStdKeys[keyParent].hkey; - m_hKey = NULL; + m_hKey = (WXHKEY) NULL; m_dwLastError = 0; } @@ -221,7 +222,7 @@ wxRegKey::wxRegKey(const wxRegKey& keyParent, const wxString& strKey) RemoveTrailingSeparator(m_strKey); m_hRootKey = keyParent.m_hRootKey; - m_hKey = NULL; + m_hKey = (WXHKEY) NULL; m_dwLastError = 0; } @@ -474,7 +475,7 @@ bool wxRegKey::DeleteValue(const char *szValue) return FALSE; #ifdef __WIN32__ - m_dwLastError = RegDeleteValue((HKEY) m_hKey, szValue); + m_dwLastError = RegDeleteValue((HKEY) m_hKey, (char*) (const char*) szValue); if ( m_dwLastError != ERROR_SUCCESS ) { wxLogSysError(m_dwLastError, _("can't delete value '%s' from key '%s'"), szValue, GetName().c_str()); @@ -508,7 +509,7 @@ bool wxRegKey::HasValue(const char *szValue) const #ifdef __WIN32__ if ( CONST_CAST Open() ) { - return RegQueryValueEx((HKEY) m_hKey, szValue, RESERVED, + return RegQueryValueEx((HKEY) m_hKey, (char*) (const char*) szValue, RESERVED, NULL, NULL, NULL) == ERROR_SUCCESS; } else @@ -522,6 +523,9 @@ bool wxRegKey::HasValue(const char *szValue) const // returns TRUE if this key has any subkeys bool wxRegKey::HasSubkeys() const { + // suppress possible messages from GetFirstKey() + wxLogNull nolog; + // just call GetFirstKey with dummy parameters wxString str; long l; @@ -531,6 +535,9 @@ bool wxRegKey::HasSubkeys() const // returns TRUE if given subkey exists bool wxRegKey::HasSubKey(const char *szKey) const { + // this function should be silent, so suppress possible messages from Open() + wxLogNull nolog; + if ( CONST_CAST Open() ) return KeyExists(m_hKey, szKey); else @@ -544,7 +551,7 @@ wxRegKey::ValueType wxRegKey::GetValueType(const char *szValue) return Type_None; DWORD dwType; - m_dwLastError = RegQueryValueEx((HKEY) m_hKey, szValue, RESERVED, + m_dwLastError = RegQueryValueEx((HKEY) m_hKey, (char*) (const char*) szValue, RESERVED, &dwType, NULL, NULL); if ( m_dwLastError != ERROR_SUCCESS ) { wxLogSysError(m_dwLastError, _("can't read value of key '%s'"), @@ -562,7 +569,7 @@ wxRegKey::ValueType wxRegKey::GetValueType(const char *szValue) bool wxRegKey::SetValue(const char *szValue, long lValue) { if ( CONST_CAST Open() ) { - m_dwLastError = RegSetValueEx((HKEY) m_hKey, szValue, RESERVED, REG_DWORD, + m_dwLastError = RegSetValueEx((HKEY) m_hKey, szValue, (DWORD) RESERVED, REG_DWORD, (RegString)&lValue, sizeof(lValue)); if ( m_dwLastError == ERROR_SUCCESS ) return TRUE; @@ -578,7 +585,7 @@ bool wxRegKey::QueryValue(const char *szValue, long *plValue) const if ( CONST_CAST Open() ) { DWORD dwType, dwSize = sizeof(DWORD); RegString pBuf = (RegString)plValue; - m_dwLastError = RegQueryValueEx((HKEY) m_hKey, szValue, RESERVED, + m_dwLastError = RegQueryValueEx((HKEY) m_hKey, (char*) (const char*) szValue, RESERVED, &dwType, pBuf, &dwSize); if ( m_dwLastError != ERROR_SUCCESS ) { wxLogSysError(m_dwLastError, _("can't read value of key '%s'"), @@ -605,11 +612,11 @@ bool wxRegKey::QueryValue(const char *szValue, wxString& strValue) const #ifdef __WIN32__ // first get the type and size of the data DWORD dwType, dwSize; - m_dwLastError = RegQueryValueEx((HKEY) m_hKey, szValue, RESERVED, + m_dwLastError = RegQueryValueEx((HKEY) m_hKey, (char*) (const char*) szValue, RESERVED, &dwType, NULL, &dwSize); if ( m_dwLastError == ERROR_SUCCESS ) { RegString pBuf = (RegString)strValue.GetWriteBuf(dwSize); - m_dwLastError = RegQueryValueEx((HKEY) m_hKey, szValue, RESERVED, + m_dwLastError = RegQueryValueEx((HKEY) m_hKey, (char*) (const char*) szValue, RESERVED, &dwType, pBuf, &dwSize); strValue.UngetWriteBuf(); if ( m_dwLastError == ERROR_SUCCESS ) { @@ -640,7 +647,7 @@ bool wxRegKey::SetValue(const char *szValue, const wxString& strValue) { if ( CONST_CAST Open() ) { #ifdef __WIN32__ - m_dwLastError = RegSetValueEx((HKEY) m_hKey, szValue, RESERVED, REG_SZ, + m_dwLastError = RegSetValueEx((HKEY) m_hKey, szValue, (DWORD) RESERVED, REG_SZ, (RegString)strValue.c_str(), strValue.Len() + 1); if ( m_dwLastError == ERROR_SUCCESS ) @@ -793,3 +800,7 @@ void RemoveTrailingSeparator(wxString& str) if ( !str.IsEmpty() && str.Last() == REG_SEPARATOR ) str.Truncate(str.Len() - 1); } + +#endif + // __WIN16__ +