diff --git a/src/Gui/GestureNavigationStyle.cpp b/src/Gui/GestureNavigationStyle.cpp index d3f1924f9f..46bc4fe97c 100644 --- a/src/Gui/GestureNavigationStyle.cpp +++ b/src/Gui/GestureNavigationStyle.cpp @@ -61,7 +61,7 @@ # include # include # include -# include +# include # include #endif @@ -635,8 +635,14 @@ bool GestureNavigationStyle::isDraggerUnderCursor(SbVec2s pos) rp.setPoint(pos); rp.apply(this->viewer->getSoRenderManager()->getSceneGraph()); SoPickedPoint* pick = rp.getPickedPoint(); - if (pick) - return pick->getPath()->getTail()->isOfType(SoDragger::getClassTypeId()); - else + if (pick){ + const SoFullPath* fullpath = static_cast(pick->getPath()); + for(int i = 0; i < fullpath->getLength(); ++i){ + if(fullpath->getNode(i)->isOfType(SoDragger::getClassTypeId())) + return true; + } return false; + } else { + return false; + } }