diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-09-10 07:42:29 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-09-10 07:42:29 +0400 |
commit | e647c748fb2cbd4d62c257f599eb5bc3d5a7f517 (patch) | |
tree | 27784ad3dda0a11741c3b64a0a46d96eb4af26e8 /source/blender/blenkernel/intern | |
parent | 2812dd92cfa29c504b647736a304b33163418c4e (diff) |
fix [#32518] Vertex slide crash sometimes.
Undo would leave BMEditMesh->me pointer NULL, this would likely crash EDBM_verts_mirror_cache_begin() too.
Rather then restore 'me', remove the pointer altogether and use BMEditMesh->ob->data to save us having to keep track of 2 pointers.
Diffstat (limited to 'source/blender/blenkernel/intern')
-rw-r--r-- | source/blender/blenkernel/intern/editderivedmesh.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/source/blender/blenkernel/intern/editderivedmesh.c b/source/blender/blenkernel/intern/editderivedmesh.c index 1577faccf40..befec1907da 100644 --- a/source/blender/blenkernel/intern/editderivedmesh.c +++ b/source/blender/blenkernel/intern/editderivedmesh.c @@ -1747,10 +1747,11 @@ DerivedMesh *getEditDerivedBMesh(BMEditMesh *em, BMEditMesh *BMEdit_FromObject(Object *ob) { BLI_assert(ob->type == OB_MESH); + /* sanity check */ #ifndef NDEBUG -// if (((Mesh *)ob->data)->edit_btmesh) { -// BLI_assert(((Mesh *)ob->data)->edit_btmesh->me == ob->data); -// } + if (((Mesh *)ob->data)->edit_btmesh) { + BLI_assert(((Mesh *)ob->data)->edit_btmesh->ob == ob); + } #endif return ((Mesh *)ob->data)->edit_btmesh; } |