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=434…
==============================================================================
--- 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 ||