X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/20d8c319901b4bfb6dbd6d3070e41d3174df0a6f..f6becba596c63de98a5814baf000684bc96a404a:/src/msw/registry.cpp?ds=inline diff --git a/src/msw/registry.cpp b/src/msw/registry.cpp index 7d2a574f6c..2607a3f2c7 100644 --- a/src/msw/registry.cpp +++ b/src/msw/registry.cpp @@ -75,12 +75,12 @@ aStdKeys[] = #ifndef __WXWINCE__ { HKEY_PERFORMANCE_DATA, wxT("HKEY_PERFORMANCE_DATA"), wxT("HKPD") }, #endif -#if WINVER >= 0x0400 && !defined(__WXWINCE__) +#ifdef HKEY_CURRENT_CONFIG { HKEY_CURRENT_CONFIG, wxT("HKEY_CURRENT_CONFIG"), wxT("HKCC") }, -#if !defined(__GNUWIN32__) && !defined(__WXWINCE__) +#endif +#ifdef HKEY_DYN_DATA { HKEY_DYN_DATA, wxT("HKEY_DYN_DATA"), wxT("HKDD") }, // short name? -#endif //GNUWIN32 -#endif //WINVER >= 4.0 +#endif }; // the registry name separator (perhaps one day MS will change it to '/' ;-) @@ -364,7 +364,13 @@ bool wxRegKey::GetKeyInfo(size_t *pnSubKeys, bool wxRegKey::Open(AccessMode mode) { if ( IsOpened() ) - return true; + { + if ( mode <= m_mode ) + return true; + + // we had been opened in read mode but now must be reopened in write + Close(); + } HKEY tmpKey; m_dwLastError = ::RegOpenKeyEx @@ -384,6 +390,8 @@ bool wxRegKey::Open(AccessMode mode) } m_hKey = (WXHKEY) tmpKey; + m_mode = mode; + return true; } @@ -1166,7 +1174,7 @@ FormatAsHex(const void *data, if ( n ) value << _T(','); - value << wxString::Format(_T("%02x"), p[n]); + value << wxString::Format(_T("%02x"), (unsigned char)p[n]); } return value; @@ -1231,7 +1239,7 @@ wxString wxRegKey::FormatValue(const wxString& name) const if ( !QueryValue(name, &value) ) break; - rhs.Printf(_T("dword:%08x"), value); + rhs.Printf(_T("dword:%08x"), (unsigned int)value); } break;