From 177a86e6e0141759c15f5ed558e0ad482c068d64 Mon Sep 17 00:00:00 2001 From: bdieterm Date: Tue, 29 Aug 2023 22:28:49 +0200 Subject: [PATCH] Sketcher: fix segfault on distance constraints without SecondPos --- src/Mod/Sketcher/Gui/EditModeConstraintCoinManager.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Mod/Sketcher/Gui/EditModeConstraintCoinManager.cpp b/src/Mod/Sketcher/Gui/EditModeConstraintCoinManager.cpp index e4d3ec1017..a37f0f11d4 100644 --- a/src/Mod/Sketcher/Gui/EditModeConstraintCoinManager.cpp +++ b/src/Mod/Sketcher/Gui/EditModeConstraintCoinManager.cpp @@ -826,12 +826,13 @@ Restart: case DistanceY: { assert(Constr->First >= -extGeoCount && Constr->First < intGeoCount); Base::Vector3d pnt1(0., 0., 0.), pnt2(0., 0., 0.); - const Part::Geometry* geo = geolistfacade.getGeometryFromGeoId(Constr->Second); if (Constr->SecondPos != Sketcher::PointPos::none) {// point to point distance pnt1 = geolistfacade.getPoint(Constr->First, Constr->FirstPos); pnt2 = geolistfacade.getPoint(Constr->Second, Constr->SecondPos); } else if (Constr->Second != GeoEnum::GeoUndef) { + const Part::Geometry* geo = + geolistfacade.getGeometryFromGeoId(Constr->Second); if (geo->getTypeId() == Part::GeomLineSegment::getClassTypeId()) { const Part::GeomLineSegment* lineSeg = static_cast(geo);