From 26723cf2098de050da9450ca088ba54fab5a0569 Mon Sep 17 00:00:00 2001 From: PaddleStroke Date: Wed, 31 Dec 2025 10:55:40 +0100 Subject: [PATCH] Sketcher: Reverse #25478 and #26033 --- src/Mod/Sketcher/Gui/ViewProviderSketch.cpp | 45 +++------------------ 1 file changed, 5 insertions(+), 40 deletions(-) diff --git a/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp b/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp index 5f93496c8a..6dd1027834 100644 --- a/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp +++ b/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp @@ -3143,6 +3143,11 @@ void ViewProviderSketch::drawEditMarkers(const std::vector& Edit } void ViewProviderSketch::updateData(const App::Property* prop) { + if (std::string(prop->getName()) != "ShapeMaterial") { + // We don't want material to override the colors of sketches. + ViewProvider2DObject::updateData(prop); + } + if (prop == &getSketchObject()->InternalShape) { const auto& shape = getSketchObject()->InternalShape.getValue(); setupCoinGeometry(shape, @@ -3154,43 +3159,6 @@ void ViewProviderSketch::updateData(const App::Property* prop) { if (prop != &getSketchObject()->Constraints) { signalElementsChanged(); } - - // clang-format on - // update placement changes while in edit mode - if (isInEditMode() && prop) { - // check if the changed property is `placement` or `attachmentoffset` - if (strcmp(prop->getName(), "Placement") == 0 - || strcmp(prop->getName(), "AttachmentOffset") == 0) { - -#ifdef FC_DEBUG - Base::Console().warning("updating editing transform!\n"); -#endif - // recalculate the placement matrix - Sketcher::SketchObject* sketchObj = getSketchObject(); - if (sketchObj) { - // use globalPlacement for both attached and unattached sketches - Base::Placement plm = sketchObj->Placement.getValue(); - -#ifdef FC_DEBUG - // log what is actually being set - Base::Console().warning( - "Placement: pos=(%f,%f,%f)\n", - plm.getPosition().x, - plm.getPosition().y, - plm.getPosition().z - ); -#endif - - // update the document's editing transform - getDocument()->setEditingTransform(plm.toMatrix()); - } - } - } - if (std::string(prop->getName()) != "ShapeMaterial") { - // We don't want material to override the colors of sketches. - ViewProvider2DObject::updateData(prop); - } - // clang-format off } void ViewProviderSketch::slotSolverUpdate() @@ -3434,9 +3402,6 @@ bool ViewProviderSketch::setEdit(int ModNum) addNodeToRoot(gridnode); setGridEnabled(true); - // update the documents stored transform - getDocument()->setEditingTransform(plm.toMatrix()); - // create the container for the additional edit data assert(!isInEditMode()); preselection.reset();