summaryrefslogtreecommitdiff
path: root/src/shared/leaktrace.h
diff options
context:
space:
mode:
authorTannin <devnull@localhost>2013-07-17 20:58:58 +0200
committerTannin <devnull@localhost>2013-07-17 20:58:58 +0200
commitd0f2c4fcf79222d5c6f3c17188a811b0a47833c6 (patch)
tree12c9e4f529caa0f5830c8dd52d785b3e2df5462b /src/shared/leaktrace.h
parent36ac91e0b765b1ae099e93054447beca8f461f74 (diff)
- now avoids a few unnecessary copy operations during generation of the directory structure
- bugfix: circular dependency caused a memory leak - bugfix: removing a single mod lead to the wrong mod being deleted
Diffstat (limited to 'src/shared/leaktrace.h')
-rw-r--r--src/shared/leaktrace.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/shared/leaktrace.h b/src/shared/leaktrace.h
new file mode 100644
index 00000000..78764260
--- /dev/null
+++ b/src/shared/leaktrace.h
@@ -0,0 +1,24 @@
+#ifndef LEAKTRACE_H
+#define LEAKTRACE_H
+
+
+namespace LeakTrace {
+
+void TraceAlloc(void *ptr);
+void TraceDealloc(void *ptr);
+
+};
+
+#ifdef TRACE_LEAKS
+
+#define LEAK_TRACE LeakTrace::TraceAlloc(this)
+#define LEAK_UNTRACE LeakTrace::TraceDealloc(this)
+
+#else // TRACE_LEAKS
+
+#define LEAK_TRACE
+#define LEAK_UNTRACE
+
+#endif // TRACE_LEAKS
+
+#endif // LEAKTRACE_H