[ros-diffs] [cwittich] 27994: fix bug "Regedit will let you create two identical keys." See issue #2496 for more details.
cwittich at svn.reactos.org
cwittich at svn.reactos.org
Sun Jul 29 12:33:18 CEST 2007
Author: cwittich
Date: Sun Jul 29 14:33:17 2007
New Revision: 27994
URL: http://svn.reactos.org/svn/reactos?rev=27994&view=rev
Log:
fix bug "Regedit will let you create two identical keys."
See issue #2496 for more details.
Modified:
trunk/reactos/base/applications/regedit/childwnd.c
Modified: trunk/reactos/base/applications/regedit/childwnd.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/regedit/childwnd.c?rev=27994&r1=27993&r2=27994&view=diff
==============================================================================
--- trunk/reactos/base/applications/regedit/childwnd.c (original)
+++ trunk/reactos/base/applications/regedit/childwnd.c Sun Jul 29 14:33:17 2007
@@ -510,6 +510,7 @@
{
LPCTSTR keyPath;
HKEY hRootKey;
+ HKEY hKey = NULL;
LPNMTVDISPINFO ptvdi;
LONG lResult;
@@ -517,9 +518,18 @@
if (ptvdi->item.pszText)
{
keyPath = GetItemPath(pChildWnd->hTreeWnd, ptvdi->item.hItem, &hRootKey);
- lResult = RegRenameKey(hRootKey, keyPath, ptvdi->item.pszText);
+ if (RegOpenKeyEx(hRootKey, keyPath, 0, KEY_READ, &hKey) == ERROR_SUCCESS)
+ {
+ lResult = REG_OPENED_EXISTING_KEY;
+ RegCloseKey(hKey);
+ (void)TreeView_EditLabel(pChildWnd->hTreeWnd, ptvdi->item.hItem);
+ }
+ else
+ {
+ lResult = RegRenameKey(hRootKey, keyPath, ptvdi->item.pszText);
+ }
return lResult == ERROR_SUCCESS;
- }
+ }
}
default:
return 0;
More information about the Ros-diffs
mailing list