Throw an exception if a reservation is eaten by the GC. Better to die early with a known error than to desync later.

This commit is contained in:
Paul Chote
2011-02-24 17:26:14 +13:00
parent fa6a98cca3
commit 7f39909dc8
2 changed files with 13 additions and 8 deletions

View File

@@ -32,10 +32,10 @@ namespace OpenRA.Mods.RA
{
reservedFor = forActor;
return new DisposableAction(() =>
{
reservedFor = null;
});
return new DisposableAction(() => { reservedFor = null; },
() => Game.RunAfterTick(() =>
{throw new InvalidOperationException("Attempted to finalize an undisposed DisposableAction");})
);
}
public static bool IsReserved(Actor a)