FreeCAD: master 56c29e27

Author Committer Branch Timestamp Parent
abdullah wmayer master 2015-09-26 06:46:39 master 01ba165d
Affected Issues  0002277: Deleting sketcher geometry crashes FreeCAD
Changeset Sketcher: Bug fix: Building Vertex Index on Restore

===================================================

The bug was introduced by myself here:
https://github.com/FreeCAD/FreeCAD/commit/47c0859c1b702b6c7d1dcf5922317c4f325f5d2e


void SketchObject::onDocumentRestored()
 {
     try {
-        rebuildExternalGeometry();
+        if(Support.getValue()) {
+            validateExternalLinks();
+            rebuildExternalGeometry();
+        }
         Constraints.acceptGeometry(getCompleteGeometry());
     }

The issue is that "rebuildExternalGeometry" calls "rebuildVertexIndex". So for any sketch not having external geometry, if you open it, select everything and hit del, you will have a crash because
I effectively removed the creation of the index in this dossier. You won't have one if you do anything rebuilding the index before hitting del, like creating geometry, though.
mod - src/Mod/Sketcher/App/SketchObject.cpp Diff File