Index: base/applications/regedit/childwnd.c =================================================================== --- base/applications/regedit/childwnd.c (revision 61047) +++ base/applications/regedit/childwnd.c (working copy) @@ -541,8 +541,28 @@ case TVN_ITEMEXPANDING: return !OnTreeExpanding(g_pChildWnd->hTreeWnd, (NMTREEVIEW*)lParam); case TVN_SELCHANGED: + { UpdateAddress(((NMTREEVIEW*)lParam)->itemNew.hItem, NULL, NULL); + + /* Disable Delete/Rename menu options for 'My Computer' and HKEY_* keys */ + if (!TreeView_GetParent(g_pChildWnd->hTreeWnd, ((NMTREEVIEW*)lParam)->itemNew.hItem) || + !TreeView_GetParent(g_pChildWnd->hTreeWnd, TreeView_GetParent(g_pChildWnd->hTreeWnd, ((NMTREEVIEW*)lParam)->itemNew.hItem))) + { + EnableMenuItem(hMenuFrame, ID_EDIT_DELETE, MF_BYCOMMAND | MF_GRAYED); + EnableMenuItem(hPopupMenus, ID_TREE_DELETE, MF_BYCOMMAND | MF_GRAYED); + EnableMenuItem(hMenuFrame, ID_EDIT_RENAME, MF_BYCOMMAND | MF_GRAYED); + EnableMenuItem(hPopupMenus, ID_TREE_RENAME, MF_BYCOMMAND | MF_GRAYED); + } + else + { + EnableMenuItem(hMenuFrame, ID_EDIT_DELETE, MF_BYCOMMAND | MF_ENABLED); + EnableMenuItem(hPopupMenus, ID_TREE_DELETE, MF_BYCOMMAND | MF_ENABLED); + EnableMenuItem(hMenuFrame, ID_EDIT_RENAME, MF_BYCOMMAND | MF_ENABLED); + EnableMenuItem(hPopupMenus, ID_TREE_RENAME, MF_BYCOMMAND | MF_ENABLED); + } + break; + } case NM_SETFOCUS: g_pChildWnd->nFocusPanel = 0; break;