diff --git a/src/Mod/Path/Gui/ViewProviderPath.cpp b/src/Mod/Path/Gui/ViewProviderPath.cpp index 2a9fe11752..2a828e8243 100644 --- a/src/Mod/Path/Gui/ViewProviderPath.cpp +++ b/src/Mod/Path/Gui/ViewProviderPath.cpp @@ -120,12 +120,14 @@ public: mat *= linkMat; mat.inverse(); Base::Vector3d pt = mat*Base::Vector3d(msg.x,msg.y,msg.z); - const SbVec3f &ptTo = *vp->pcLineCoords->point.getValues(vp->pt0Index); - SbVec3f ptFrom(pt.x,pt.y,pt.z); - if(ptFrom != ptTo) { - vp->pcArrowTransform->pointAt(ptFrom,ptTo); - setArrow(vp->pcArrowSwitch); - return; + if(vp->pcLineCoords->point.getNum() > 0){ + auto ptTo = vp->pcLineCoords->point.getValues(vp->pt0Index); + SbVec3f ptFrom(pt.x,pt.y,pt.z); + if(ptTo && ptFrom != *ptTo) { + vp->pcArrowTransform->pointAt(ptFrom,*ptTo); + setArrow(vp->pcArrowSwitch); + return; + } } } setArrow();