fix constructing wxRegKey from string names (replaces patch 1542052)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41142 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2006-09-10 23:04:59 +00:00
parent 06322acab7
commit aa9bfc2ac0

View File

@@ -143,12 +143,10 @@ wxRegKey::StdKey wxRegKey::ExtractKeyName(wxString& strKey)
{ {
wxString strRoot = strKey.BeforeFirst(REG_SEPARATOR); wxString strRoot = strKey.BeforeFirst(REG_SEPARATOR);
HKEY hRootKey = 0;
size_t ui; size_t ui;
for ( ui = 0; ui < nStdKeys; ui++ ) { for ( ui = 0; ui < nStdKeys; ui++ ) {
if ( strRoot.CmpNoCase(aStdKeys[ui].szName) == 0 || if ( strRoot.CmpNoCase(aStdKeys[ui].szName) == 0 ||
strRoot.CmpNoCase(aStdKeys[ui].szShortName) == 0 ) { strRoot.CmpNoCase(aStdKeys[ui].szShortName) == 0 ) {
hRootKey = aStdKeys[ui].hkey;
break; break;
} }
} }
@@ -156,7 +154,7 @@ wxRegKey::StdKey wxRegKey::ExtractKeyName(wxString& strKey)
if ( ui == nStdKeys ) { if ( ui == nStdKeys ) {
wxFAIL_MSG(wxT("invalid key prefix in wxRegKey::ExtractKeyName.")); wxFAIL_MSG(wxT("invalid key prefix in wxRegKey::ExtractKeyName."));
hRootKey = HKEY_CLASSES_ROOT; ui = HKCR;
} }
else { else {
strKey = strKey.After(REG_SEPARATOR); strKey = strKey.After(REG_SEPARATOR);
@@ -164,13 +162,13 @@ wxRegKey::StdKey wxRegKey::ExtractKeyName(wxString& strKey)
strKey.Truncate(strKey.Len() - 1); strKey.Truncate(strKey.Len() - 1);
} }
return (wxRegKey::StdKey)(int)hRootKey; return (StdKey)ui;
} }
wxRegKey::StdKey wxRegKey::GetStdKeyFromHkey(WXHKEY hkey) wxRegKey::StdKey wxRegKey::GetStdKeyFromHkey(WXHKEY hkey)
{ {
for ( size_t ui = 0; ui < nStdKeys; ui++ ) { for ( size_t ui = 0; ui < nStdKeys; ui++ ) {
if ( (int) aStdKeys[ui].hkey == (int) hkey ) if ( aStdKeys[ui].hkey == (HKEY)hkey )
return (StdKey)ui; return (StdKey)ui;
} }