From 6dc20d2b68afcbb244620ed552cb85ed27a1cc18 Mon Sep 17 00:00:00 2001 From: Abdullah Tahiri Date: Sat, 26 Dec 2020 17:46:20 +0100 Subject: [PATCH] Sketcher: ViewProvider - fix crash due to invalidated geomety pointer ===================================================================== Finish checks with geometry pointer before calling initTemporaryMove(), as the pointer may change as a result of the solve() operation. --- src/Mod/Sketcher/Gui/ViewProviderSketch.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp b/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp index 1b0c49080e..037df4660c 100644 --- a/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp +++ b/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp @@ -1231,8 +1231,6 @@ bool ViewProviderSketch::mouseMove(const SbVec2s &cursorPos, Gui::View3DInventor } - getSketchObject()->initTemporaryMove(edit->DragCurve, Sketcher::none, false); - if (geo->getTypeId() == Part::GeomLineSegment::getClassTypeId() || geo->getTypeId() == Part::GeomBSplineCurve::getClassTypeId()) { relative = true; @@ -1249,6 +1247,9 @@ bool ViewProviderSketch::mouseMove(const SbVec2s &cursorPos, Gui::View3DInventor xInit = 0; yInit = 0; } + + getSketchObject()->initTemporaryMove(edit->DragCurve, Sketcher::none, false); + } else { Mode = STATUS_NONE; }