From 619f367238265171f44cd371c21865e092ded8a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Tr=C3=B6ger?= Date: Wed, 7 Dec 2016 06:33:31 +0100 Subject: [PATCH] PartDesign: prevent double deletion of TempVis --- src/Mod/Part/Gui/TaskAttacher.cpp | 10 ++++++---- src/Mod/Part/Gui/TaskAttacher.h | 2 +- src/Mod/PartDesign/Gui/TaskDatumParameters.cpp | 5 +---- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/Mod/Part/Gui/TaskAttacher.cpp b/src/Mod/Part/Gui/TaskAttacher.cpp index 41828caf1a..d341f42007 100644 --- a/src/Mod/Part/Gui/TaskAttacher.cpp +++ b/src/Mod/Part/Gui/TaskAttacher.cpp @@ -895,13 +895,15 @@ void TaskAttacher::visibilityAutomation(bool opening_not_closing) // TaskDialog //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -TaskDlgAttacher::TaskDlgAttacher(Gui::ViewProviderDocumentObject *ViewProvider) +TaskDlgAttacher::TaskDlgAttacher(Gui::ViewProviderDocumentObject *ViewProvider, bool createBox) : TaskDialog(),ViewProvider(ViewProvider) { assert(ViewProvider); - parameter = new TaskAttacher(ViewProvider); - - Content.push_back(parameter); + + if(createBox) { + parameter = new TaskAttacher(ViewProvider); + Content.push_back(parameter); + } } TaskDlgAttacher::~TaskDlgAttacher() diff --git a/src/Mod/Part/Gui/TaskAttacher.h b/src/Mod/Part/Gui/TaskAttacher.h index e8740c2c96..f3d0a9f01b 100644 --- a/src/Mod/Part/Gui/TaskAttacher.h +++ b/src/Mod/Part/Gui/TaskAttacher.h @@ -139,7 +139,7 @@ class TaskDlgAttacher : public Gui::TaskView::TaskDialog Q_OBJECT public: - TaskDlgAttacher(Gui::ViewProviderDocumentObject *ViewProvider); + TaskDlgAttacher(Gui::ViewProviderDocumentObject *ViewProvider, bool createBox = true); ~TaskDlgAttacher(); Gui::ViewProviderDocumentObject* getViewProvider() const diff --git a/src/Mod/PartDesign/Gui/TaskDatumParameters.cpp b/src/Mod/PartDesign/Gui/TaskDatumParameters.cpp index 7d1cd8915f..23080d2fce 100644 --- a/src/Mod/PartDesign/Gui/TaskDatumParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskDatumParameters.cpp @@ -88,13 +88,10 @@ TaskDatumParameters::~TaskDatumParameters() //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ TaskDlgDatumParameters::TaskDlgDatumParameters(ViewProviderDatum *ViewProvider) - : TaskDlgAttacher(ViewProvider) + : TaskDlgAttacher(ViewProvider, false) { assert(ViewProvider); parameter = new TaskDatumParameters(ViewProvider); - - Content.front()->deleteLater(); - Content.clear(); Content.push_back(parameter); }