- changed some data init code to delete the data it wants to initialize first.

- The 'savebuffer' variable still existed?
- Changed AInventory::Destroy to NULL SendItemUse and SendItemDrop if they point to the destroyed object. Although unlikely it can't be ruled out completely that this can happen with delayed CCMDs.
- fixed: Starting a new game did not clear the hub statistics array.


SVN r3034 (trunk)
This commit is contained in:
Christoph Oelckers 2010-12-13 10:02:45 +00:00
commit c6525a2271
10 changed files with 31 additions and 4 deletions

View file

@ -16,6 +16,7 @@
#include "a_specialspot.h"
#include "thingdef/thingdef.h"
#include "g_level.h"
#include "g_game.h"
#include "doomstat.h"
static FRandom pr_restore ("RestorePos");
@ -1033,6 +1034,10 @@ void AInventory::Destroy ()
}
Inventory = NULL;
Super::Destroy ();
// Although contrived it can theoretically happen that these variables still got a pointer to this item
if (SendItemUse == this) SendItemUse = NULL;
if (SendItemDrop == this) SendItemDrop = NULL;
}
//===========================================================================