From 512d5c6141aec52b6eecc67370336a28fde862a6 Mon Sep 17 00:00:00 2001 From: Abdullah Tahiri Date: Sat, 12 Dec 2020 08:01:25 +0100 Subject: [PATCH] Sketcher: Ensure that ViewProvider Geometry extensions is correctly initialised --- src/Mod/Sketcher/Gui/ViewProviderSketch.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp b/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp index 3611b0c37f..b62fd15bc6 100644 --- a/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp +++ b/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp @@ -6101,9 +6101,14 @@ bool ViewProviderSketch::setEdit(int ModNum) getSketchObject()->validateExternalLinks(); } + // First drawing with non-temporal geometry, then updating solver information + // This ensures that any ViewProvider geometry extension is set before the geometry + // is loaded into the solver, which ensures that any prospective draw using temporal + // geometry (draw with first parameter true) has the right ViewProvider geometry extensions + // set - This fixes Weight constraint dragging on a just opened sketch. + draw(false,true); getSketchObject()->solve(false); UpdateSolverInformation(); - draw(false,true); connectUndoDocument = getDocument() ->signalUndoDocument.connect(boost::bind(&ViewProviderSketch::slotUndoDocument, this, bp::_1));