Files
OpenRA/OpenRA.Mods.Common/Traits
Oliver Brakmann 35dfb54459 Fix trait lookup of destroyed actor in SpawnActorOnDeath
The sequence of events leading to that crash looks like this:

1. Truk enters a building.

2. `Enter.FindAndTransitionToNextState()` is running, and since `DonateSupplies` uses `EnterBehaviour.Dispose`, `Actor.Dispose()` runs for the actor, queueing a FrameEndTask.

3. Truk is then killed:

 * `Health.InflictDamage()` first calls `SpawnActorOnDeath.Killed()`, which queues a FrameEndTask during which some trait lookups happen.

 * `Health.InflightDamage()` then calls `Actor.Dispose()` as well, queueing another FrameEndTask (which will never run, the game crashes before).

4. After the tick, the first FrameEndTask disposes of the actor. The second FrameEndTask would spawn the crate from the truk, but the trait lookups then fail and throw an exception.
2016-05-07 14:21:41 +02:00
..
2016-04-10 09:41:12 -04:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-04-10 09:41:12 -04:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-03-30 02:46:19 +02:00
2016-03-30 02:46:19 +02:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-04-24 20:12:49 +02:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-03-28 16:15:44 -05:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00
2016-04-03 16:46:07 +02:00
2016-02-21 16:30:48 +00:00
2016-02-21 16:30:48 +00:00