From 73c2b3f8807b5230fe0c32f6168edfa5392be7da Mon Sep 17 00:00:00 2001 From: Jabiertxo Arraiza Cenoz Date: Fri, 17 Nov 2017 13:12:00 +0100 Subject: Fix memleaks and double call to title() in a recursive function in Symbols Dialog --- src/ui/dialog/symbols.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/ui/dialog/symbols.cpp b/src/ui/dialog/symbols.cpp index fda1825da..7b34aa23d 100644 --- a/src/ui/dialog/symbols.cpp +++ b/src/ui/dialog/symbols.cpp @@ -888,11 +888,13 @@ void SymbolsDialog::symbolsInDocRecursive (SPObject *r, std::map(r)) { Glib::ustring id = r->getAttribute("id"); - if(r->title()) { - l[doc_title + r->title() + id] = std::make_pair(doc_title,dynamic_cast(r)); + gchar * title = r->title(); + if(title) { + l[doc_title + title + id] = std::make_pair(doc_title,dynamic_cast(r)); } else { l[Glib::ustring(_("notitle_")) + id] = std::make_pair(doc_title,dynamic_cast(r)); } + g_free(title); } for (auto& child: r->children) { symbolsInDocRecursive(&child, l, doc_title); -- cgit v1.2.3