From 0fee2c55403a34014893f125682b3930a81ad2ed Mon Sep 17 00:00:00 2001 From: Marius Kintel Date: Sun, 27 Nov 2011 05:20:18 +0100 Subject: [PATCH] Killed some memory leaks --- tests/cgalpngtest.cc | 3 +++ tests/csgtermtest.cc | 4 ++++ tests/csgtestcore.cc | 3 +++ tests/csgtexttest.cc | 3 +++ tests/dumptest.cc | 6 ++++++ tests/echotest.cc | 3 +++ valgrind.supp | 11 +++++++++++ 7 files changed, 33 insertions(+) diff --git a/tests/cgalpngtest.cc b/tests/cgalpngtest.cc index 60e630cd..fcc5977b 100644 --- a/tests/cgalpngtest.cc +++ b/tests/cgalpngtest.cc @@ -196,6 +196,9 @@ int main(int argc, char **argv) csgInfo.glview->paintGL(); csgInfo.glview->save(outfile); + delete root_node; + delete root_module; + Builtins::instance(true); return 0; diff --git a/tests/csgtermtest.cc b/tests/csgtermtest.cc index 8f2d76e5..2383126f 100644 --- a/tests/csgtermtest.cc +++ b/tests/csgtermtest.cc @@ -143,6 +143,10 @@ int main(int argc, char **argv) } outfile.close(); + if (root_term) root_term->unlink(); + delete root_node; + delete root_module; + Builtins::instance(true); return rc; diff --git a/tests/csgtestcore.cc b/tests/csgtestcore.cc index 034084c7..49bd4735 100644 --- a/tests/csgtestcore.cc +++ b/tests/csgtestcore.cc @@ -216,6 +216,9 @@ int csgtestcore(int argc, char *argv[], test_type_e test_type) csgInfo.glview->save(outfilename); + delete root_node; + delete root_module; + Builtins::instance(true); return 0; diff --git a/tests/csgtexttest.cc b/tests/csgtexttest.cc index 76f6eb1b..d7f94f12 100644 --- a/tests/csgtexttest.cc +++ b/tests/csgtexttest.cc @@ -129,6 +129,9 @@ int main(int argc, char **argv) outfile << csgcache[*root_node] << "\n"; outfile.close(); + delete root_node; + delete root_module; + Builtins::instance(true); return rc; diff --git a/tests/dumptest.cc b/tests/dumptest.cc index 40716690..22dd96c8 100644 --- a/tests/dumptest.cc +++ b/tests/dumptest.cc @@ -139,6 +139,9 @@ int main(int argc, char **argv) outfile << dumpstdstr << "\n"; outfile.close(); + delete root_node; + delete root_module; + root_module = parsefile(outfilename); if (!root_module) { fprintf(stderr, "Error: Unable to read back dumped file\n"); @@ -159,6 +162,9 @@ int main(int argc, char **argv) exit(1); } + delete root_node; + delete root_module; + Builtins::instance(true); return rc; diff --git a/tests/echotest.cc b/tests/echotest.cc index 2f7ae4cc..afa3d033 100644 --- a/tests/echotest.cc +++ b/tests/echotest.cc @@ -124,6 +124,9 @@ int main(int argc, char **argv) AbstractNode::resetIndexCounter(); root_node = root_module->evaluate(&root_ctx, &root_inst); + delete root_node; + delete root_module; + Builtins::instance(true); ofile.close(); return rc; diff --git a/valgrind.supp b/valgrind.supp index e6aaa595..261b977f 100644 --- a/valgrind.supp +++ b/valgrind.supp @@ -39,3 +39,14 @@ fun:(below main) } +{ + Qt misc leaks + Memcheck:Leak + fun:calloc + ... + fun:_Z7qt_initP19QApplicationPrivatei + fun:_ZN19QApplicationPrivate9constructEv + fun:_ZN12QApplicationC2ERiPPcbi + fun:main +} +