diff --git a/src/Gui/ViewProviderDragger.cpp b/src/Gui/ViewProviderDragger.cpp index e20dc516b2..4307db0a29 100644 --- a/src/Gui/ViewProviderDragger.cpp +++ b/src/Gui/ViewProviderDragger.cpp @@ -169,16 +169,21 @@ void ViewProviderDragger::setEditViewer(Gui::View3DInventorViewer* viewer, int M { SoPickStyle *rootPickStyle = new SoPickStyle(); rootPickStyle->style = SoPickStyle::UNPICKABLE; - static_cast(viewer->getSceneGraph())->insertChild(rootPickStyle, 0); + SoFCUnifiedSelection* selection = static_cast(viewer->getSceneGraph()); + selection->insertChild(rootPickStyle, 0); + selection->selectionRole.setValue(false); csysDragger->setUpAutoScale(viewer->getSoRenderManager()->getCamera()); } } void ViewProviderDragger::unsetEditViewer(Gui::View3DInventorViewer* viewer) { - SoNode *child = static_cast(viewer->getSceneGraph())->getChild(0); - if (child && child->isOfType(SoPickStyle::getClassTypeId())) - static_cast(viewer->getSceneGraph())->removeChild(child); + SoFCUnifiedSelection* selection = static_cast(viewer->getSceneGraph()); + SoNode *child = selection->getChild(0); + if (child && child->isOfType(SoPickStyle::getClassTypeId())) { + selection->removeChild(child); + selection->selectionRole.setValue(true); + } } void ViewProviderDragger::dragStartCallback(void *, SoDragger *)