From df3fbd432de3d0bfc8ec689a5616b34103c63791 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 10 Oct 2009 04:15:38 +0000 Subject: Further memory leak fixes svn-id: r44861 --- engines/cruise/cruise_main.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'engines/cruise/cruise_main.cpp') diff --git a/engines/cruise/cruise_main.cpp b/engines/cruise/cruise_main.cpp index e3e5b4c98d..6f5bf552fa 100644 --- a/engines/cruise/cruise_main.cpp +++ b/engines/cruise/cruise_main.cpp @@ -211,6 +211,17 @@ void resetPtr2(scriptInstanceStruct *ptr) { } void resetActorPtr(actorStruct *ptr) { + actorStruct *p = ptr; + + if (p->next) { + p = p->next; + do { + actorStruct *pNext = p->next; + MemFree(p); + p = pNext; + } while (p); + } + ptr->next = NULL; ptr->prev = NULL; } @@ -1983,6 +1994,7 @@ void CruiseEngine::mainLoop(void) { // Free data removeAllScripts(&relHead); removeAllScripts(&procHead); + resetActorPtr(&actorHead); freeOverlayTable(); closeCnf(); closeBase(); -- cgit v1.2.3