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
}
m_hKey = (WXHKEY) tmpKey;
+ m_mode = mode;
+
return true;
}
if ( n )
value << _T(',');
- value << wxString::Format(_T("%02x"), p[n]);
+ value << wxString::Format(_T("%02x"), (unsigned char)p[n]);
}
return value;
if ( !QueryValue(name, &value) )
break;
- rhs.Printf(_T("dword:%08x"), value);
+ rhs.Printf(_T("dword:%08x"), (unsigned int)value);
}
break;