diff --git a/src/Mod/Sketcher/App/SketchObject.cpp b/src/Mod/Sketcher/App/SketchObject.cpp index 86f55b1789..a02c0a384e 100644 --- a/src/Mod/Sketcher/App/SketchObject.cpp +++ b/src/Mod/Sketcher/App/SketchObject.cpp @@ -6066,6 +6066,13 @@ bool SketchObject::insertBSplineKnot(int GeoId, double param, int multiplicity) // Trigger update now // Update geometry indices and rebuild vertexindex now via onChanged, so that ViewProvider::UpdateData is triggered. if (!delGeoId.empty()) { + // NOTE: There have been a couple of instances when knot insertion has + // led to a segmentation fault: see https://forum.freecadweb.org/viewtopic.php?f=19&t=64962&sid=10272db50a635c633260517b14ecad37. + // If a segfault happens again and a `Geometry.touch()` here fixes it, + // it is possible that `delGeometriesExclusiveList` is causing an update + // in constraint GUI features during an intermediate step. + // See 247a9f0876a00e08c25b07d1f8802479d8623e87 for suggestions. + // Geometry.touch(); delGeometriesExclusiveList(delGeoId); } else {