From 15b129c2e40387dafd37e06d076b07c2f78addc8 Mon Sep 17 00:00:00 2001 From: wdbee Date: Thu, 13 Nov 2014 16:11:59 +0000 Subject: [PATCH] No leaks in start-stop-cycle remaining A race causes memory blocks be corrupted independent from the robot used git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@5832 30fe4595-0a0c-4342-8851-515496e4dcbd Former-commit-id: a51684b5586db6acc0578cfe2e2c45845b617449 Former-commit-id: 32852ebe6691ab816241f5b0d21a15f38f90c24b --- src/libs/tgf/memmanager.cpp | 2 +- src/libs/tgfclient/guicombobox.cpp | 6 ++++++ src/modules/racing/genparoptv1/raceinit.cpp | 2 +- src/modules/racing/standardgame/raceinit.cpp | 4 +++- src/modules/userinterface/legacymenu/legacymenu.cpp | 2 +- 5 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/libs/tgf/memmanager.cpp b/src/libs/tgf/memmanager.cpp index 8a8df0efc..610bc1b57 100644 --- a/src/libs/tgf/memmanager.cpp +++ b/src/libs/tgf/memmanager.cpp @@ -217,7 +217,7 @@ void* GfMemoryManagerAlloc (size_t size, unsigned int Type, void* RetAddr) // b: (void*) official pointer to the new data block // Hunting memory leaks ... -#define IDTOSTOP 7815 // ID of block you are looking for +#define IDTOSTOP 272737 // ID of block you are looking for if (ID == IDTOSTOP) { diff --git a/src/libs/tgfclient/guicombobox.cpp b/src/libs/tgfclient/guicombobox.cpp index ab412e9e6..593129d5d 100644 --- a/src/libs/tgfclient/guicombobox.cpp +++ b/src/libs/tgfclient/guicombobox.cpp @@ -361,6 +361,12 @@ void gfuiReleaseCombobox(tGfuiObject *obj) { delete obj->u.combobox.pInfo; + + tGfuiLabel *label; + label = &(obj->u.combobox.label); + freez(label->userDataOnFocus); + free(label->text); + freez(obj->u.combobox.userDataOnFocus); free(obj); } diff --git a/src/modules/racing/genparoptv1/raceinit.cpp b/src/modules/racing/genparoptv1/raceinit.cpp index e83eef7a0..ae05a0d5f 100644 --- a/src/modules/racing/genparoptv1/raceinit.cpp +++ b/src/modules/racing/genparoptv1/raceinit.cpp @@ -77,11 +77,11 @@ ReReset(void) // Race Engine cleanup void ReCleanup(void) { + ReSituation::terminate(); if (!ReInfo) return; // Free ReInfo memory. - ReSituation::terminate(); ReInfo = 0; } diff --git a/src/modules/racing/standardgame/raceinit.cpp b/src/modules/racing/standardgame/raceinit.cpp index 936611477..0ee4c1ac4 100644 --- a/src/modules/racing/standardgame/raceinit.cpp +++ b/src/modules/racing/standardgame/raceinit.cpp @@ -91,11 +91,13 @@ ReReset(void) // Race Engine cleanup void ReCleanup(void) { + ReSituation::terminate(); + if (!ReInfo) return; // Free ReInfo memory. - ReSituation::terminate(); + // ReSituation::terminate(); ReInfo = 0; } diff --git a/src/modules/userinterface/legacymenu/legacymenu.cpp b/src/modules/userinterface/legacymenu/legacymenu.cpp index c0d35b11e..e7bc414ea 100644 --- a/src/modules/userinterface/legacymenu/legacymenu.cpp +++ b/src/modules/userinterface/legacymenu/legacymenu.cpp @@ -188,7 +188,7 @@ void LegacyMenu::quit() void LegacyMenu::shutdown() { - // Shutdown graphics in case relevant and not already done. + // Shutdown graphics in case relevant and not already done. if (_piRaceEngine->inData()->_displayMode == RM_DISP_MODE_NORMAL) { shutdownSound();