From 823c640846959ed26edaddca4cf90075885951b7 Mon Sep 17 00:00:00 2001 From: wmayer Date: Wed, 24 Jun 2015 20:07:36 +0200 Subject: [PATCH] + fix memory leak --- src/Mod/Sketcher/Gui/TaskDlgEditSketch.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/Mod/Sketcher/Gui/TaskDlgEditSketch.cpp b/src/Mod/Sketcher/Gui/TaskDlgEditSketch.cpp index 6a3bf0e7c8..7dd294de21 100644 --- a/src/Mod/Sketcher/Gui/TaskDlgEditSketch.cpp +++ b/src/Mod/Sketcher/Gui/TaskDlgEditSketch.cpp @@ -64,13 +64,13 @@ TaskDlgEditSketch::TaskDlgEditSketch(ViewProviderSketch *sketchView) if (!hGrp->GetBool("ExpandedMessagesWidget",true)) Messages->hideGroupBox(); if (!hGrp->GetBool("ExpandedSolverAdvancedWidget",false)) - SolverAdvanced->hideGroupBox(); + SolverAdvanced->hideGroupBox(); if (!hGrp->GetBool("ExpandedEditControlWidget",false)) General->hideGroupBox(); if (!hGrp->GetBool("ExpandedConstraintsWidget",true)) - Constraints->hideGroupBox(); + Constraints->hideGroupBox(); if (!hGrp->GetBool("ExpandedElementsWidget",true)) - Elements->hideGroupBox(); + Elements->hideGroupBox(); App::Document* document = sketchView->getObject()->getDocument(); connectUndoDocument = @@ -83,6 +83,12 @@ TaskDlgEditSketch::~TaskDlgEditSketch() { connectUndoDocument.disconnect(); connectRedoDocument.disconnect(); + + // to make sure to delete the advanced solver panel + // it must be part to the 'Content' array + std::vector::iterator it = std::find(Content.begin(), Content.end(), SolverAdvanced); + if (it == Content.end()) + Content.push_back(SolverAdvanced); } void TaskDlgEditSketch::slotUndoDocument(const App::Document& doc)