diff --git a/src/libs/glsl/glslastdump.cpp b/src/libs/glsl/glslastdump.cpp index b22ac1bead1a0cec0086db71f2bbf64dd7a42240..337e120ed810091c74e8e11a6cefecf0a117bd08 100644 --- a/src/libs/glsl/glslastdump.cpp +++ b/src/libs/glsl/glslastdump.cpp @@ -51,9 +51,13 @@ bool ASTDump::preVisit(AST *ast) { const char *id = typeid(*ast).name(); #ifdef Q_CC_GNU - id = abi::__cxa_demangle(id, 0, 0, 0); + char *cppId = abi::__cxa_demangle(id, 0, 0, 0); + id = cppId; #endif out << QByteArray(_depth, ' ') << id << endl; +#ifdef Q_CC_GNU + free(cppId); +#endif ++_depth; return true; }