X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/04a18b0d958a3c7507089dc374e71bdad143981d..b3433ee72c6c1d31b26c3e10265da811165c3a54:/src/msw/registry.cpp?ds=sidebyside diff --git a/src/msw/registry.cpp b/src/msw/registry.cpp index 70dd768c12..3cf956f7d2 100644 --- a/src/msw/registry.cpp +++ b/src/msw/registry.cpp @@ -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; }