From 94ead6345f31939c9c9eff70ce88d74cf36a8004 Mon Sep 17 00:00:00 2001 From: Jens Vollinga Date: Fri, 31 Jul 2009 15:29:17 +0200 Subject: [PATCH] Fixed the fix in commit f059ebe117d15292e0d262e6e8e232e835c7e33c. --- ginac/parser/parser.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ginac/parser/parser.cpp b/ginac/parser/parser.cpp index d639bfe1..3fa40c92 100644 --- a/ginac/parser/parser.cpp +++ b/ginac/parser/parser.cpp @@ -68,14 +68,15 @@ ex parser::parse_identifier_expr() } // dirty hack to distinguish between serial numbers of functions and real // pointers. + GiNaC::function* f; try { - GiNaC::function f(reinterpret_cast(reader->second), args); - return f; + f = new GiNaC::function(reinterpret_cast(reader->second), args); } catch ( std::runtime_error ) { ex ret = reader->second(args); return ret; } + return f->setflag(status_flags::dynallocated); } /// paren_expr: '(' expression ')' -- 2.49.0