From 99ef8e756db48ff1e07ccb75bd794b6f0f56d26d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Tr=C3=B6ger?= Date: Sun, 3 Jan 2016 21:32:31 +0100 Subject: [PATCH] Fix transform feature crash on apply -Redundant "reset edit" and command commit removed -Redundant apply call removed --- src/Mod/PartDesign/Gui/TaskFeatureParameters.cpp | 3 +++ .../Gui/TaskLinearPatternParameters.cpp | 16 ---------------- .../PartDesign/Gui/TaskLinearPatternParameters.h | 4 ---- .../Gui/TaskPolarPatternParameters.cpp | 14 -------------- .../PartDesign/Gui/TaskPolarPatternParameters.h | 4 ---- src/Mod/PartDesign/Gui/TaskScaledParameters.cpp | 5 ----- 6 files changed, 3 insertions(+), 43 deletions(-) diff --git a/src/Mod/PartDesign/Gui/TaskFeatureParameters.cpp b/src/Mod/PartDesign/Gui/TaskFeatureParameters.cpp index 4d0c7a5a18..ec1c4c49d8 100644 --- a/src/Mod/PartDesign/Gui/TaskFeatureParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskFeatureParameters.cpp @@ -82,6 +82,9 @@ bool TaskDlgFeatureParameters::accept() { // Iterate over parameter dialogs and apply all parameters from them for ( QWidget *wgt : Content ) { TaskFeatureParameters *param = qobject_cast (wgt); + if(!param) + continue; + param->saveHistory (); param->apply (); } diff --git a/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.cpp b/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.cpp index b6fae83e61..37d9f1088d 100644 --- a/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.cpp @@ -396,12 +396,6 @@ void TaskLinearPatternParameters::apply() ui->spinLength->apply(); ui->spinOccurrences->apply(); - - Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.recompute()"); - if (!TransformedView->getObject()->isValid()) - throw Base::Exception(TransformedView->getObject()->getStatusString()); - Gui::Command::doCommand(Gui::Command::Gui,"Gui.activeDocument().resetEdit()"); - Gui::Command::commitCommand(); } //************************************************************************** @@ -417,14 +411,4 @@ TaskDlgLinearPatternParameters::TaskDlgLinearPatternParameters(ViewProviderLinea Content.push_back(parameter); } -//==== calls from the TaskView =============================================================== - -bool TaskDlgLinearPatternParameters::accept() -{ - - parameter->apply(); - - return TaskDlgTransformedParameters::accept(); -} - #include "moc_TaskLinearPatternParameters.cpp" diff --git a/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.h b/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.h index c996e7990b..351dcdc98e 100644 --- a/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.h +++ b/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.h @@ -98,10 +98,6 @@ class TaskDlgLinearPatternParameters : public TaskDlgTransformedParameters public: TaskDlgLinearPatternParameters(ViewProviderLinearPattern *LinearPatternView); virtual ~TaskDlgLinearPatternParameters() {} - -public: - /// is called by the framework if the dialog is accepted (Ok) - virtual bool accept(); }; } //namespace PartDesignGui diff --git a/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp b/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp index 13bdfa7ef8..a3148b0542 100644 --- a/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp @@ -391,11 +391,6 @@ void TaskPolarPatternParameters::apply() Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.Reversed = %u",name.c_str(),getReverse()); ui->polarAngle->apply(); ui->spinOccurrences->apply(); - Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.recompute()"); - if (!TransformedView->getObject()->isValid()) - throw Base::Exception(TransformedView->getObject()->getStatusString()); - Gui::Command::doCommand(Gui::Command::Gui,"Gui.activeDocument().resetEdit()"); - Gui::Command::commitCommand(); } //************************************************************************** @@ -410,14 +405,5 @@ TaskDlgPolarPatternParameters::TaskDlgPolarPatternParameters(ViewProviderPolarPa Content.push_back(parameter); } -//==== calls from the TaskView =============================================================== - -bool TaskDlgPolarPatternParameters::accept() -{ - - parameter->apply(); - - return TaskDlgTransformedParameters::accept(); -} #include "moc_TaskPolarPatternParameters.cpp" diff --git a/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.h b/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.h index 4892f68b4c..2d6b86b20f 100644 --- a/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.h +++ b/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.h @@ -99,10 +99,6 @@ class TaskDlgPolarPatternParameters : public TaskDlgTransformedParameters public: TaskDlgPolarPatternParameters(ViewProviderPolarPattern *PolarPatternView); virtual ~TaskDlgPolarPatternParameters() {} - -public: - /// is called by the framework if the dialog is accepted (Ok) - virtual bool accept(); }; } //namespace PartDesignGui diff --git a/src/Mod/PartDesign/Gui/TaskScaledParameters.cpp b/src/Mod/PartDesign/Gui/TaskScaledParameters.cpp index 50efbb4244..c0708cda25 100644 --- a/src/Mod/PartDesign/Gui/TaskScaledParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskScaledParameters.cpp @@ -233,11 +233,6 @@ void TaskScaledParameters::apply() Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.Factor = %f",name.c_str(), getFactor()); ui->spinOccurrences->apply(); - Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.recompute()"); - if (!TransformedView->getObject()->isValid()) - throw Base::Exception(TransformedView->getObject()->getStatusString()); - Gui::Command::doCommand(Gui::Command::Gui,"Gui.activeDocument().resetEdit()"); - Gui::Command::commitCommand(); } //**************************************************************************