diff --git a/src/Mod/PartDesign/Gui/TaskTransformedParameters.cpp b/src/Mod/PartDesign/Gui/TaskTransformedParameters.cpp index 129b6276b..0be5b37f8 100644 --- a/src/Mod/PartDesign/Gui/TaskTransformedParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskTransformedParameters.cpp @@ -259,7 +259,10 @@ bool TaskDlgTransformedParameters::accept() bool TaskDlgTransformedParameters::reject() { - // Get object before view is invalidated + // ensure that we are not in selection mode + parameter->exitSelectionMode(); + + // get object and originals before view is invalidated (if it is invalidated) PartDesign::Transformed* pcTransformed = static_cast(TransformedView->getObject()); std::vector pcOriginals = pcTransformed->Originals.getValues(); diff --git a/src/Mod/PartDesign/Gui/TaskTransformedParameters.h b/src/Mod/PartDesign/Gui/TaskTransformedParameters.h index 68bd60f8e..2dad89efb 100644 --- a/src/Mod/PartDesign/Gui/TaskTransformedParameters.h +++ b/src/Mod/PartDesign/Gui/TaskTransformedParameters.h @@ -64,6 +64,8 @@ public: /// Get the sketch object of the first original either of the object associated with this feature or with the parent feature (MultiTransform mode) App::DocumentObject* getSketchObject() const; + void exitSelectionMode(); + protected Q_SLOTS: /// Connect the subTask OK button to the MultiTransform task virtual void onSubTaskButtonOK() {} @@ -81,7 +83,6 @@ protected: void showObject(); void hideOriginals(); void showOriginals(); - void exitSelectionMode(); void addReferenceSelectionGate(bool edge, bool face); protected: