- let skip_super use the AActor assignment operator. The blanket memcpy it used was clobbering some data.
- moved the Finalize method from PClassActor to AActor. Now that defaults get their vtbl pointer initialized this will actually work.
This commit is contained in:
parent
56024a1ebe
commit
776509e68a
10 changed files with 15 additions and 26 deletions
|
|
@ -429,20 +429,20 @@ void PClassActor::SetDropItems(DDropItem *drops)
|
|||
//
|
||||
//==========================================================================
|
||||
|
||||
void PClassActor::Finalize(FStateDefinitions &statedef)
|
||||
void AActor::Finalize(FStateDefinitions &statedef)
|
||||
{
|
||||
AActor *defaults = (AActor*)Defaults;
|
||||
AActor *defaults = this;
|
||||
|
||||
try
|
||||
{
|
||||
statedef.FinishStates(this, defaults);
|
||||
statedef.FinishStates(GetClass(), defaults);
|
||||
}
|
||||
catch (CRecoverableError &)
|
||||
{
|
||||
statedef.MakeStateDefines(NULL);
|
||||
throw;
|
||||
}
|
||||
statedef.InstallStates(this, defaults);
|
||||
statedef.InstallStates(GetClass(), defaults);
|
||||
statedef.MakeStateDefines(NULL);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue