Fix an OOS on rejoin caused by ParamNode.cpp using an invalid node cache. Patch by leper, fixes #4316.

Reuse the temple of vesta inheritance from 06bf79b7e8 which was affected
by this bug.

This was SVN commit r18942.
This commit is contained in:
elexis 2016-11-15 14:01:15 +00:00
parent 3008533c8e
commit aa26863d5c
2 changed files with 5 additions and 7 deletions

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_civic_temple">
<Entity parent="structures/rome_temple">
<Auras datatype="tokens">loyalty_regen</Auras>
<BuildRestrictions>
<Category>UniqueBuilding</Category>
@ -12,7 +12,6 @@
<SpawnEntityOnDeath>rubble/rubble_3x3</SpawnEntityOnDeath>
</Health>
<Identity>
<Civ>rome</Civ>
<GenericName>Temple of Vesta</GenericName>
<Icon>structures/temple_vesta.png</Icon>
<SpecificName>Aedes Vestae</SpecificName>
@ -20,11 +19,6 @@
<Obstruction>
<Static width="19.0" depth="19.0"/>
</Obstruction>
<ProductionQueue>
<Technologies datatype="tokens">
romans/vision_sibylline
</Technologies>
</ProductionQueue>
<VisualActor>
<Actor>structures/romans/temple_vesta.xml</Actor>
<FoundationActor>structures/fndn_3x3.xml</FoundationActor>

View File

@ -171,6 +171,10 @@ void CParamNode::ApplyLayer(const XMBFile& xmb, const XMBElement& element, const
if (!hasSetValue)
node.m_Value = value;
// We also need to reset node's script val, even if it has no children
// or if the attributes change.
node.ResetScriptVal();
// Recurse through the element's children
XERO_ITER_EL(element, child)
{