[Scummvm-cvs-logs] SF.net SVN: scummvm:[44808] scummvm/trunk/engines/cruise

dreammaster at users.sourceforge.net dreammaster at users.sourceforge.net
Fri Oct 9 10:15:31 CEST 2009


Revision: 44808
          http://scummvm.svn.sourceforge.net/scummvm/?rev=44808&view=rev
Author:   dreammaster
Date:     2009-10-09 08:15:30 +0000 (Fri, 09 Oct 2009)

Log Message:
-----------
Set up a basic tracing system for all memory allocations to help track down memory leaks

Modified Paths:
--------------
    scummvm/trunk/engines/cruise/actor.cpp
    scummvm/trunk/engines/cruise/background.cpp
    scummvm/trunk/engines/cruise/backgroundIncrust.cpp
    scummvm/trunk/engines/cruise/cell.cpp
    scummvm/trunk/engines/cruise/cruise.cpp
    scummvm/trunk/engines/cruise/cruise_main.cpp
    scummvm/trunk/engines/cruise/cruise_main.h
    scummvm/trunk/engines/cruise/ctp.cpp
    scummvm/trunk/engines/cruise/dataLoader.cpp
    scummvm/trunk/engines/cruise/font.cpp
    scummvm/trunk/engines/cruise/function.cpp
    scummvm/trunk/engines/cruise/mainDraw.cpp
    scummvm/trunk/engines/cruise/menu.cpp
    scummvm/trunk/engines/cruise/overlay.cpp
    scummvm/trunk/engines/cruise/perso.cpp
    scummvm/trunk/engines/cruise/saveload.cpp
    scummvm/trunk/engines/cruise/sound.cpp
    scummvm/trunk/engines/cruise/volume.cpp

Modified: scummvm/trunk/engines/cruise/actor.cpp
===================================================================
--- scummvm/trunk/engines/cruise/actor.cpp	2009-10-09 07:50:37 UTC (rev 44807)
+++ scummvm/trunk/engines/cruise/actor.cpp	2009-10-09 08:15:30 UTC (rev 44808)
@@ -599,7 +599,7 @@
 			return -1;
 		}
 
-		perso = persoTable[i] = (persoStruct *) malloc(sizeof(persoStruct));
+		perso = persoTable[i] = (persoStruct *) MemAlloc(sizeof(persoStruct));
 
 		ptr = perso->solution[0];
 
@@ -663,7 +663,7 @@
 		return (-1);
 	}
 
-	perso = persoTable[num] = (persoStruct *) malloc(sizeof(persoStruct));
+	perso = persoTable[num] = (persoStruct *) MemAlloc(sizeof(persoStruct));
 
 	perso->inc_jo1 = stepX;
 	perso->inc_jo2 = stepY;

Modified: scummvm/trunk/engines/cruise/background.cpp
===================================================================
--- scummvm/trunk/engines/cruise/background.cpp	2009-10-09 07:50:37 UTC (rev 44807)
+++ scummvm/trunk/engines/cruise/background.cpp	2009-10-09 08:15:30 UTC (rev 44808)
@@ -107,7 +107,7 @@
 	ptrToFree = gfxModuleData.pPage10;
 	if (loadFileSub1(&ptrToFree, name, NULL) < 0) {
 		if (ptrToFree != gfxModuleData.pPage10)
-			free(ptrToFree);
+			MemFree(ptrToFree);
 
 		return (-18);
 	}

Modified: scummvm/trunk/engines/cruise/backgroundIncrust.cpp
===================================================================
--- scummvm/trunk/engines/cruise/backgroundIncrust.cpp	2009-10-09 07:50:37 UTC (rev 44807)
+++ scummvm/trunk/engines/cruise/backgroundIncrust.cpp	2009-10-09 08:15:30 UTC (rev 44808)
@@ -49,7 +49,7 @@
 	pIncrust->savedX = X;
 	pIncrust->savedY = Y;
 
-	pIncrust->ptr = (uint8*)malloc(width * height);
+	pIncrust->ptr = (uint8*)MemAlloc(width * height);
 	for (int i = 0; i < height; i++) {
 		for (int j = 0; j < width; j++) {
 			int xp = j + X;
@@ -239,9 +239,9 @@
 		backgroundIncrustStruct *pNext = pCurrent->next;
 
 		if (pCurrent->ptr)
-			free(pCurrent->ptr);
+			MemFree(pCurrent->ptr);
 
-		free(pCurrent);
+		MemFree(pCurrent);
 
 		pCurrent = pNext;
 	}
@@ -292,10 +292,10 @@
 			bx->prev = pCurrent->next;
 
 			if (pCurrent->ptr) {
-				free(pCurrent->ptr);
+				MemFree(pCurrent->ptr);
 			}
 
-			free(pCurrent);
+			MemFree(pCurrent);
 
 			pCurrent = pNext;
 		} else {

Modified: scummvm/trunk/engines/cruise/cell.cpp
===================================================================
--- scummvm/trunk/engines/cruise/cell.cpp	2009-10-09 07:50:37 UTC (rev 44807)
+++ scummvm/trunk/engines/cruise/cell.cpp	2009-10-09 08:15:30 UTC (rev 44808)
@@ -39,9 +39,9 @@
 void freeMessageList(cellStruct *objPtr) {
 	/*	if (objPtr) {
 			 if (objPtr->next)
-			 free(objPtr->next);
+			 MemFree(objPtr->next);
 
-			free(objPtr);
+			MemFree(objPtr);
 		} */
 }
 
@@ -143,7 +143,7 @@
 
 	var_2 = si;
 
-	pNewElement = (cellStruct *) malloc(sizeof(cellStruct));
+	pNewElement = (cellStruct *) MemAlloc(sizeof(cellStruct));
 	memset(pNewElement, 0, sizeof(cellStruct));
 
 	pNewElement->next = pObject->next;
@@ -221,7 +221,7 @@
 			// TODO: complelty wrong
 			//freeMessageList(si);
 
-			free(si);
+			MemFree(si);
 
 			currentObj = dx;
 		} else {

Modified: scummvm/trunk/engines/cruise/cruise.cpp
===================================================================
--- scummvm/trunk/engines/cruise/cruise.cpp	2009-10-09 07:50:37 UTC (rev 44807)
+++ scummvm/trunk/engines/cruise/cruise.cpp	2009-10-09 08:15:30 UTC (rev 44808)
@@ -69,11 +69,16 @@
 	g_eventRec.registerRandomSource(_rnd, "cruise");
 }
 
+extern void listMemory();
+
 CruiseEngine::~CruiseEngine() {
 	delete _debugger;
 	delete _sound;
 
 	freeSystem();
+
+	if (gDebugLevel > 0)
+		MemoryList();
 }
 
 bool CruiseEngine::hasFeature(EngineFeature f) const {
@@ -135,7 +140,7 @@
 	// Clear any backgrounds
 	for (int i = 0; i < 8; ++i) {
 		if (backgroundScreens[i]) {
-			free(backgroundScreens[i]);
+			MemFree(backgroundScreens[i]);
 			backgroundScreens[i] = NULL;
 		}
 	}
@@ -146,7 +151,7 @@
 
 	// Give preference to a language file
 	if (f.open("DELPHINE.LNG")) {
-		char *data = (char *)malloc(f.size());
+		char *data = (char *)MemAlloc(f.size());
 		f.read(data, f.size());
 		char *ptr = data;
 

Modified: scummvm/trunk/engines/cruise/cruise_main.cpp
===================================================================
--- scummvm/trunk/engines/cruise/cruise_main.cpp	2009-10-09 07:50:37 UTC (rev 44807)
+++ scummvm/trunk/engines/cruise/cruise_main.cpp	2009-10-09 08:15:30 UTC (rev 44808)
@@ -42,6 +42,61 @@
 
 gfxEntryStruct* linkedMsgList = NULL;
 
+Common::List<byte *> memList;
+
+void MemoryList() {
+	printf("Current list of un-freed memory blocks:\n");
+	Common::List<byte *>::iterator i;
+	for (i = memList.begin(); i != memList.end(); ++i) {
+		byte *v = *i;
+		printf("%s - %d\n", (const char *)(v - 68), *((int32 *)(v - 72)));
+	}
+}
+
+void *MemoryAlloc(uint32 size, bool clearFlag, int32 lineNum, const char *fname) {
+	byte *result;
+
+	if (gDebugLevel > 0)
+		result = (byte *)malloc(size);
+	else {
+		// Find the point after the final slash
+		const char *fnameP = fname + strlen(fname);
+		while ((fnameP > fname) && (*(fnameP - 1) != '/') && (*(fnameP - 1) != '\\'))
+			--fnameP;
+
+		// Create the new memory block and add it to the memory list
+		byte *v = (byte *)malloc(size + 64 + 8);
+		*((int32 *) v) = lineNum;
+		strncpy((char *)v + 4, fnameP, 63);
+		*((char *)v + 4 + 63) = '\0';
+		*((uint32 *) (v + 68)) = 0x41424344;
+
+		// Add the block to the memory list
+		result = v + 64 + 8;
+		memList.push_back(result);
+	}
+
+	if (clearFlag)
+		memset(result, 0, size);
+
+	return result;
+}
+
+void MemoryFree(void *v) {
+	if (!v)
+		return;
+
+	if (gDebugLevel > 0)
+		free(v);
+	else {
+		byte *p = (byte *)v;
+		assert(*((uint32 *) (p - 4)) == 0x41424344);
+
+		memList.remove(p);
+		free(p - 8 - 64);
+	}
+}
+
 void drawBlackSolidBoxSmall() {
 //  gfxModuleData.drawSolidBox(64,100,256,117,0);
 	drawSolidBox(64, 100, 256, 117, 0);
@@ -139,7 +194,7 @@
 
 	for (i = 0; i < NUM_FILE_ENTRIES; i++) {
 		if (filesDatabase[i].subData.ptr) {
-			free(filesDatabase[i].subData.ptr);
+			MemFree(filesDatabase[i].subData.ptr);
 		}
 
 		filesDatabase[i].subData.ptr = NULL;
@@ -337,7 +392,7 @@
 
 		delphineUnpack(unpackedBuffer, pakedBuffer, volumePtrToFileDescriptor[fileIdx].size);
 
-		free(pakedBuffer);
+		MemFree(pakedBuffer);
 	} else {
 		loadPackedFileToMem(fileIdx, unpackedBuffer);
 	}
@@ -354,7 +409,7 @@
 	if (!filesDatabase[entryNumber].subData.ptr)
 		return;
 
-	free(filesDatabase[entryNumber].subData.ptr);
+	MemFree(filesDatabase[entryNumber].subData.ptr);
 
 	filesDatabase[entryNumber].subData.ptr = NULL;
 	filesDatabase[entryNumber].subData.ptrMask = NULL;
@@ -531,10 +586,10 @@
 			oldPtr->nextScriptPtr = ptr->nextScriptPtr;
 
 			if (ptr->var6 && ptr->varA) {
-				//  free(ptr->var6);
+				//  MemFree(ptr->var6);
 			}
 
-			free(ptr);
+			MemFree(ptr);
 
 			ptr = oldPtr->nextScriptPtr;
 		} else {
@@ -701,7 +756,7 @@
 void *allocAndZero(int size) {
 	void *ptr;
 
-	ptr = malloc(size);
+	ptr = MemAlloc(size);
 	memset(ptr, 0, size);
 
 	return ptr;
@@ -1907,13 +1962,4 @@
 	} while (!playerDontAskQuit && quitValue2 && quitValue != 7);
 }
 
-void *mallocAndZero(int32 size) {
-	void *ptr;
-
-	ptr = malloc(size);
-	assert(ptr);
-	memset(ptr, 0, size);
-	return ptr;
-}
-
 } // End of namespace Cruise

Modified: scummvm/trunk/engines/cruise/cruise_main.h
===================================================================
--- scummvm/trunk/engines/cruise/cruise_main.h	2009-10-09 07:50:37 UTC (rev 44807)
+++ scummvm/trunk/engines/cruise/cruise_main.h	2009-10-09 08:15:30 UTC (rev 44808)
@@ -92,7 +92,6 @@
 ovlData3Struct *getOvlData3Entry(int32 scriptNumber, int32 param);
 ovlData3Struct *scriptFunc1Sub2(int32 scriptNumber, int32 param);
 void resetFileEntry(int32 entryNumber);
-void *mallocAndZero(int32 size);
 uint8 *mainProc14(uint16 overlay, uint16 idx);
 void printInfoBlackBox(const char *string);
 void waitForPlayerInput(void);
@@ -116,6 +115,14 @@
 void initBigVar3(void);
 void resetActorPtr(actorStruct *ptr);
 
+void MemoryList();
+void *MemoryAlloc(uint32 size, bool clearFlag, int32 lineNum, const char *fname);
+void MemoryFree(void *v);
+
+#define mallocAndZero(size) MemoryAlloc(size, true, __LINE__, __FILE__)
+#define MemAlloc(size) MemoryAlloc(size, false, __LINE__, __FILE__)
+#define MemFree(v) MemoryFree(v)
+
 } // End of namespace Cruise
 
 #endif

Modified: scummvm/trunk/engines/cruise/ctp.cpp
===================================================================
--- scummvm/trunk/engines/cruise/ctp.cpp	2009-10-09 07:50:37 UTC (rev 44807)
+++ scummvm/trunk/engines/cruise/ctp.cpp	2009-10-09 08:15:30 UTC (rev 44808)
@@ -228,7 +228,7 @@
 	}
 	uint8* ptr = NULL;
 	if (!loadFileSub1(&ptr, ctpName, 0)) {
-		free(ptr);
+		MemFree(ptr);
 		return (-18);
 	}
 
@@ -239,7 +239,7 @@
 	dataPointer += 4;
 
 	if (strcmp(fileType, "CTP ")) {
-		free(ptr);
+		MemFree(ptr);
 		return (0);
 	}
 
@@ -312,7 +312,7 @@
 		walkboxZoom[i] = (int16)READ_BE_UINT16(dataPointer);
 		dataPointer += 2;
 	}
-	free(ptr);
+	MemFree(ptr);
 
 	if (ctpName != currentCtpName)
 		strcpy(currentCtpName, ctpName);

Modified: scummvm/trunk/engines/cruise/dataLoader.cpp
===================================================================
--- scummvm/trunk/engines/cruise/dataLoader.cpp	2009-10-09 07:50:37 UTC (rev 44807)
+++ scummvm/trunk/engines/cruise/dataLoader.cpp	2009-10-09 08:15:30 UTC (rev 44808)
@@ -58,7 +58,7 @@
 		error("Unkown gfx format %d", format);
 	}
 
-	uint8 *buffer = (uint8 *)malloc(spriteSize);
+	uint8 *buffer = (uint8 *)MemAlloc(spriteSize);
 
 	// Perform format specific decoding
 	switch (format) {
@@ -131,7 +131,7 @@
 	}
 	}
 
-	free(pCurrentFileEntry->subData.ptr);
+	MemFree(pCurrentFileEntry->subData.ptr);
 	pCurrentFileEntry->subData.ptr = buffer;
 }
 

Modified: scummvm/trunk/engines/cruise/font.cpp
===================================================================
--- scummvm/trunk/engines/cruise/font.cpp	2009-10-09 07:50:37 UTC (rev 44807)
+++ scummvm/trunk/engines/cruise/font.cpp	2009-10-09 08:15:30 UTC (rev 44808)
@@ -169,7 +169,7 @@
 }
 
 void freeSystem(void) {
-	free(_systemFNT);
+	MemFree(_systemFNT);
 }
 
 void bigEndianShortToNative(void *var) {
@@ -349,7 +349,7 @@
 	    (uint8 *) mallocAndZero(stringRenderBufferSize);
 	resetBitmap(currentStrRenderBuffer, stringRenderBufferSize);
 
-	generatedGfxEntry = (gfxEntryStruct *) malloc(sizeof(gfxEntryStruct));
+	generatedGfxEntry = (gfxEntryStruct *) MemAlloc(sizeof(gfxEntryStruct));
 	generatedGfxEntry->imagePtr = currentStrRenderBuffer;
 	generatedGfxEntry->imageSize = stringRenderBufferSize / 2;
 	generatedGfxEntry->fontIndex = fontFileIndex;
@@ -430,10 +430,10 @@
 
 void freeGfx(gfxEntryStruct *pGfx) {
 	if (pGfx->imagePtr) {
-		free(pGfx->imagePtr);
+		MemFree(pGfx->imagePtr);
 	}
 
-	free(pGfx);
+	MemFree(pGfx);
 }
 
 

Modified: scummvm/trunk/engines/cruise/function.cpp
===================================================================
--- scummvm/trunk/engines/cruise/function.cpp	2009-10-09 07:50:37 UTC (rev 44807)
+++ scummvm/trunk/engines/cruise/function.cpp	2009-10-09 08:15:30 UTC (rev 44808)
@@ -276,8 +276,8 @@
 		cellStruct *pNext = pCurrent->next;
 
 		if (pCurrent->freeze == 0) {
-			free(pCurrent->gfxPtr);
-			free(pCurrent);
+			MemFree(pCurrent->gfxPtr);
+			MemFree(pCurrent);
 		}
 
 		var_2 = 1;
@@ -938,7 +938,7 @@
 
 	if (backgroundIdx > 0 && backgroundIdx < 8) {
 		if (backgroundScreens[backgroundIdx])
-			free(backgroundScreens[backgroundIdx]);
+			MemFree(backgroundScreens[backgroundIdx]);
 
 		if (masterScreen == backgroundIdx) {
 			masterScreen = 0;
@@ -1106,7 +1106,7 @@
 		return NULL;
 	}
 
-	actorStruct *pNewElement = (actorStruct *) malloc(sizeof(actorStruct));
+	actorStruct *pNewElement = (actorStruct *) MemAlloc(sizeof(actorStruct));
 	if (!pNewElement)
 		return NULL;
 
@@ -1180,7 +1180,7 @@
 			if (pl->pathId >= 0)
 				freePerso(pl->pathId);
 
-			free(pl);
+			MemFree(pl);
 			pl = pl4;
 		} else {
 			pl2 = pl;

Modified: scummvm/trunk/engines/cruise/mainDraw.cpp
===================================================================
--- scummvm/trunk/engines/cruise/mainDraw.cpp	2009-10-09 07:50:37 UTC (rev 44807)
+++ scummvm/trunk/engines/cruise/mainDraw.cpp	2009-10-09 08:15:30 UTC (rev 44808)
@@ -1222,7 +1222,7 @@
 	cellStruct* plWork = currentObjPtr;
 	int workBufferSize = height * (width / 8);
 
-	unsigned char* workBuf = (unsigned char*)malloc(workBufferSize);
+	unsigned char* workBuf = (unsigned char*)MemAlloc(workBufferSize);
 	memcpy(workBuf, dataBuf, workBufferSize);
 
 	int numPasses = 0;
@@ -1261,7 +1261,7 @@
 		}
 	}
 
-	free(workBuf);
+	MemFree(workBuf);
 }
 
 #ifdef _DEBUG

Modified: scummvm/trunk/engines/cruise/menu.cpp
===================================================================
--- scummvm/trunk/engines/cruise/menu.cpp	2009-10-09 07:50:37 UTC (rev 44807)
+++ scummvm/trunk/engines/cruise/menu.cpp	2009-10-09 08:15:30 UTC (rev 44808)
@@ -39,7 +39,7 @@
 menuStruct *createMenu(int X, int Y, const char *menuName) {
 	menuStruct *entry;
 
-	entry = (menuStruct *) malloc(sizeof(menuStruct));
+	entry = (menuStruct *) MemAlloc(sizeof(menuStruct));
 	ASSERT(entry);
 
 	entry->x = X - 160 / 2;
@@ -329,7 +329,7 @@
 
 			nextSub = pSub->pNext;
 
-			free(pSub);
+			MemFree(pSub);
 
 			pSub = nextSub;
 		}
@@ -338,13 +338,13 @@
 			freeGfx(pElement->gfx);
 		}
 
-		free(pElement);
+		MemFree(pElement);
 
 		pElement = next;
 	}
 
 	freeGfx(pMenu->gfx);
-	free(pMenu);
+	MemFree(pMenu);
 }
 
 } // End of namespace Cruise

Modified: scummvm/trunk/engines/cruise/overlay.cpp
===================================================================
--- scummvm/trunk/engines/cruise/overlay.cpp	2009-10-09 07:50:37 UTC (rev 44807)
+++ scummvm/trunk/engines/cruise/overlay.cpp	2009-10-09 08:15:30 UTC (rev 44808)
@@ -123,7 +123,7 @@
 
 		delphineUnpack((uint8 *)unpackedBuffer, (const uint8 *)pakedBuffer, volumePtrToFileDescriptor[fileIdx].size);
 
-		free(pakedBuffer);
+		MemFree(pakedBuffer);
 	} else {
 		loadPackedFileToMem(fileIdx, (uint8 *) unpackedBuffer);
 	}
@@ -504,7 +504,7 @@
 
 			delphineUnpack((uint8 *) unpackedBuffer, (const uint8 *)pakedBuffer, volumePtrToFileDescriptor[fileIdx].size);
 
-			free(pakedBuffer);
+			MemFree(pakedBuffer);
 		} else {
 			loadPackedFileToMem(fileIdx, (uint8 *) unpackedBuffer);
 		}
@@ -631,12 +631,12 @@
 		return -4;
 	/*
 	  if (overlayTable[overlayIdx].var1E) {
-	    free(overlayTable[overlayIdx].var1E);
+	    MemFree(overlayTable[overlayIdx].var1E);
 	    overlayTable[overlayIdx].var1E = NULL;
 	  }
 
 	  if (overlayTable[overlayIdx].var16) {
-	    free(overlayTable[overlayIdx].var16);
+	    MemFree(overlayTable[overlayIdx].var16);
 	    overlayTable[overlayIdx].var16 = NULL;
 	  } */
 

Modified: scummvm/trunk/engines/cruise/perso.cpp
===================================================================
--- scummvm/trunk/engines/cruise/perso.cpp	2009-10-09 07:50:37 UTC (rev 44807)
+++ scummvm/trunk/engines/cruise/perso.cpp	2009-10-09 08:15:30 UTC (rev 44808)
@@ -34,7 +34,7 @@
 
 void freePerso(int persoIdx) {
 	if (persoTable[persoIdx]) {
-		free(persoTable[persoIdx]);
+		MemFree(persoTable[persoIdx]);
 		persoTable[persoIdx] = NULL;
 	}
 }

Modified: scummvm/trunk/engines/cruise/saveload.cpp
===================================================================
--- scummvm/trunk/engines/cruise/saveload.cpp	2009-10-09 07:50:37 UTC (rev 44807)
+++ scummvm/trunk/engines/cruise/saveload.cpp	2009-10-09 08:15:30 UTC (rev 44808)
@@ -470,7 +470,7 @@
 
 		if (t->saveSize) {
 			if (s.isLoading())
-				t->ptr = (byte *)malloc(t->saveSize);
+				t->ptr = (byte *)MemAlloc(t->saveSize);
 
 			s.syncBytes(t->ptr, t->saveSize);
 		}
@@ -642,7 +642,7 @@
 	for (unsigned long int i = 0; i < 64; i++) {
 		if (strlen(preloadData[i].name)) {
 			if (preloadData[i].ptr) {
-				free(preloadData[i].ptr);
+				MemFree(preloadData[i].ptr);
 				preloadData[i].ptr = NULL;
 			}
 			strcpy(preloadData[i].name, "");
@@ -850,7 +850,7 @@
 
 				if (ovlRestoreData[j]._sBssSize) {
 					if (ovlData->data4Ptr) {
-						free(ovlData->data4Ptr);
+						MemFree(ovlData->data4Ptr);
 					}
 
 					ovlData->data4Ptr = ovlRestoreData[j]._pBss;
@@ -861,7 +861,7 @@
 
 				if (ovlRestoreData[j]._sNumObj) {
 					if (ovlData->arrayObjVar) {
-						free(ovlData->arrayObjVar);
+						MemFree(ovlData->arrayObjVar);
 					}
 
 					ovlData->arrayObjVar = ovlRestoreData[j]._pObj;

Modified: scummvm/trunk/engines/cruise/sound.cpp
===================================================================
--- scummvm/trunk/engines/cruise/sound.cpp	2009-10-09 07:50:37 UTC (rev 44807)
+++ scummvm/trunk/engines/cruise/sound.cpp	2009-10-09 08:15:30 UTC (rev 44808)
@@ -237,7 +237,7 @@
 	if (fileIdx < 0) return NULL;
 
 	int unpackedSize = volumePtrToFileDescriptor[fileIdx].extSize + 2;
-	byte *data = (byte *)malloc(unpackedSize);
+	byte *data = (byte *)MemAlloc(unpackedSize);
 	assert(data);
 
 	if (volumePtrToFileDescriptor[fileIdx].size + 2 != unpackedSize) {
@@ -249,7 +249,7 @@
 
 		delphineUnpack(data, packedBuffer, volumePtrToFileDescriptor[fileIdx].size);
 
-		free(packedBuffer);
+		MemFree(packedBuffer);
 	} else {
 		loadPackedFileToMem(fileIdx, data);
 	}
@@ -747,10 +747,10 @@
 
 void PCSoundFxPlayer::unload() {
 	for (int i = 0; i < NUM_INSTRUMENTS; ++i) {
-		free(_instrumentsData[i]);
+		MemFree(_instrumentsData[i]);
 		_instrumentsData[i] = NULL;
 	}
-	free(_sfxData);
+	MemFree(_sfxData);
 	_sfxData = NULL;
 	_songPlayed = true;
 }

Modified: scummvm/trunk/engines/cruise/volume.cpp
===================================================================
--- scummvm/trunk/engines/cruise/volume.cpp	2009-10-09 07:50:37 UTC (rev 44807)
+++ scummvm/trunk/engines/cruise/volume.cpp	2009-10-09 08:15:30 UTC (rev 44808)
@@ -52,7 +52,7 @@
 	numLoadedPal = PAL_file.readSint16BE();
 	fileData2 = PAL_file.readSint16BE();
 
-	PAL_ptr = (uint8 *)malloc(numLoadedPal * fileData2);
+	PAL_ptr = (uint8 *)MemAlloc(numLoadedPal * fileData2);
 #endif
 }
 
@@ -60,7 +60,7 @@
 	if (PAL_file.isOpen()) {
 		PAL_file.close();
 
-		free(PAL_ptr);
+		MemFree(PAL_ptr);
 		PAL_ptr = NULL;
 
 		numLoadedPal = 0;
@@ -72,7 +72,7 @@
 	if (currentVolumeFile.isOpen()) {
 		currentVolumeFile.close();
 
-		free(volumePtrToFileDescriptor);
+		MemFree(volumePtrToFileDescriptor);
 
 		strcpy(currentBaseName, "");
 	}
@@ -180,7 +180,7 @@
 void freeDisk(void) {
 	if (currentVolumeFile.isOpen()) {
 		currentVolumeFile.close();
-		free(volumePtrToFileDescriptor);
+		MemFree(volumePtrToFileDescriptor);
 	}
 
 	/* TODO
@@ -316,7 +316,7 @@
 int closeCnf(void) {
 	for (long int i = 0; i < numOfDisks; i++) {
 		if (volumeData[i].ptr) {
-			free(volumeData[i].ptr);
+			MemFree(volumeData[i].ptr);
 			volumeData[i].ptr = NULL;
 		}
 	}
@@ -434,11 +434,11 @@
 				if (fout.isOpen())
 					fout.write(uncompBuffer, buffer[j].extSize);
 
-				//free(uncompBuffer);
+				//MemFree(uncompBuffer);
 
 			}
 
-			free(bufferLocal);
+			MemFree(bufferLocal);
 		}
 		fileHandle.close();
 	}


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list