Author: mjmartin Date: Wed Oct 14 11:50:31 2009 New Revision: 43445
URL: http://svn.reactos.org/svn/reactos?rev=43445&view=rev Log: - CmpPrepareKey: If cell signature is CM_KEY_NODE_SIGNATURE, the KeyCell is index leaf, handle it properly by calling CmpPrepareKey vice CmpPrepareIndexOfKeys. Fixes ASSERT in cminit.c that occurs on reboot after installing some applications.
Modified: trunk/reactos/lib/cmlib/cminit.c
Modified: trunk/reactos/lib/cmlib/cminit.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/cmlib/cminit.c?rev=4344... ============================================================================== --- trunk/reactos/lib/cmlib/cminit.c [iso-8859-1] (original) +++ trunk/reactos/lib/cmlib/cminit.c [iso-8859-1] Wed Oct 14 11:50:31 2009 @@ -82,7 +82,10 @@ for (i = 0; i < IndexCell->Count; i++) { PCM_KEY_INDEX SubIndexCell = HvGetCell(RegistryHive, IndexCell->List[i]); - CmpPrepareIndexOfKeys(RegistryHive, SubIndexCell); + if (SubIndexCell->Signature == CM_KEY_NODE_SIGNATURE) + CmpPrepareKey(RegistryHive, (PCM_KEY_NODE)SubIndexCell); + else + CmpPrepareIndexOfKeys(RegistryHive, SubIndexCell); } } else if (IndexCell->Signature == CM_KEY_FAST_LEAF ||