# # # patch "guitone/src/util/MemoryTrack.cpp" # from [49e02968529cfa81e6c8a34a49ffeed3808a7739] # to [4dc980c9ee6e3286cf27a821d865bded7c3b1ad9] # # patch "guitone/src/util/MemoryTrack.h" # from [0c21500e93a756eccf6bb988852ef4b1f1702040] # to [2167e1c18ad9245bcb5610a685c1458c37c76de5] # ============================================================ --- guitone/src/util/MemoryTrack.cpp 49e02968529cfa81e6c8a34a49ffeed3808a7739 +++ guitone/src/util/MemoryTrack.cpp 4dc980c9ee6e3286cf27a821d865bded7c3b1ad9 @@ -32,10 +32,10 @@ QMap trackMap; QMap trackMap; -void * trackedNew(unsigned int size, const char *file, int line) +void *mtTrackedNew(std::size_t size, const char *file, int line) throw (std::bad_alloc) { AllocInfo info; - void *ptr = (void *)malloc(size); + void *ptr = ::operator new(size); info.ptr = ptr; info.size = size; info.file = QString(file); @@ -44,9 +44,9 @@ void * trackedNew(unsigned int size, con return ptr; } -void trackedDelete(void *ptr) +void mtTrackedDelete(void *ptr) throw () { - free(ptr); + ::operator delete(ptr); trackMap.remove(ptr); } ============================================================ --- guitone/src/util/MemoryTrack.h 0c21500e93a756eccf6bb988852ef4b1f1702040 +++ guitone/src/util/MemoryTrack.h 2167e1c18ad9245bcb5610a685c1458c37c76de5 @@ -22,47 +22,20 @@ #define MEMORYTRACK_H #ifdef _DEBUG -void * trackedNew(unsigned int size, const char *file, int line); -void trackedDelete(void *p); -void writeUnfreed(); +#include -inline void * operator new(unsigned int size, const char *file, int line) -{ - return trackedNew(size, file, line); -} +void *mtTrackedNew(std::size_t size, const char *file, int line) throw (std::bad_alloc); +void mtTrackedDelete(void *ptr); +void writeUnfreed(); -inline void operator delete(void *p, const char *file, int line) -{ - trackedDelete(p); -} +#define mtnew(type) mtTrackedNew(sizeof(type)) +#define mtdelete(ptr) mtTrackedDelete(ptr) -inline void operator delete(void *p) -{ - trackedDelete(p); -} +#else -inline void * operator new[](unsigned int size, const char *file, int line) -{ - return trackedNew(size, file, line); -} +#define writeUnfreed void +#define mtnew(type) ::operator new(sizeof(type)) +#define mtdelete(ptr) ::operator delete(ptr) -inline void operator delete[](void *p, const char *file, int line) -{ - trackedDelete(p); -} - -inline void operator delete[](void *p) -{ - trackedDelete(p); -} #endif - -#ifdef _DEBUG -#define DEBUG_NEW new(__FILE__, __LINE__) -#else -#define DEBUG_NEW new -#define writeUnfreed void #endif -#define new DEBUG_NEW - -#endif