From bb1ac8bfc6f85011926f4153cf051f138cb4ca68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Tr=C3=B6ger?= Date: Fri, 25 Nov 2016 13:52:43 +0100 Subject: [PATCH] PartDesign: Fix origin selection for pattern --- src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp | 13 +++++++------ .../PartDesign/Gui/TaskPolarPatternParameters.cpp | 13 +++++++------ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp b/src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp index 338bf520c..985d09933 100644 --- a/src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp @@ -200,13 +200,14 @@ void TaskMirroredParameters::onSelectionChanged(const Gui::SelectionChanges& msg } exitSelectionMode(); } else { - if ( selectionMode == reference) { - std::vector mirrorPlanes; - App::DocumentObject* selObj; - PartDesign::Mirrored* pcMirrored = static_cast(getObject()); - getReferencedSelection(pcMirrored, msg, selObj, mirrorPlanes); - if (!selObj) + std::vector mirrorPlanes; + App::DocumentObject* selObj; + PartDesign::Mirrored* pcMirrored = static_cast(getObject()); + getReferencedSelection(pcMirrored, msg, selObj, mirrorPlanes); + if (!selObj) return; + + if ( selectionMode == reference || selObj->isDerivedFrom ( App::Plane::getClassTypeId () ) ) { pcMirrored->MirrorPlane.setValue(selObj, mirrorPlanes); recomputeFeature(); updateUI(); diff --git a/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp b/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp index f3adee6ee..1e440a979 100644 --- a/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp @@ -242,13 +242,14 @@ void TaskPolarPatternParameters::onSelectionChanged(const Gui::SelectionChanges& exitSelectionMode(); } else { - if (selectionMode == reference) { - std::vector axes; - App::DocumentObject* selObj; - PartDesign::PolarPattern* pcPolarPattern = static_cast(getObject()); - getReferencedSelection(pcPolarPattern, msg, selObj, axes); - if(!selObj) + std::vector axes; + App::DocumentObject* selObj; + PartDesign::PolarPattern* pcPolarPattern = static_cast(getObject()); + getReferencedSelection(pcPolarPattern, msg, selObj, axes); + if(!selObj) return; + + if (selectionMode == reference || selObj->isDerivedFrom ( App::Line::getClassTypeId () ) ) { pcPolarPattern->Axis.setValue(selObj, axes); recomputeFeature(); updateUI();