diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2014-07-24 11:15:38 +0400 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2014-07-24 11:18:33 +0400 |
commit | f5cee25a1229420c6e5df4aee63a191f8268f6a0 (patch) | |
tree | ca7b4a0940736fe488fb5621f5dbe3d31cbd7a52 /source/blender/bmesh | |
parent | 1cbe85b156b318ee7d7445085c5b2af2212c0cfe (diff) |
Fix T41149: Dissolve Crash Due to AutoSmooth.
bmesh's 'Join Edge Kill Vert' was using own code to delete loops, instead of
using `bm_kill_only_loop()`, which did not tag loop indices as dirty (causing
the crash), but also did not free loop's CDData...
Diffstat (limited to 'source/blender/bmesh')
-rw-r--r-- | source/blender/bmesh/intern/bmesh_core.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/source/blender/bmesh/intern/bmesh_core.c b/source/blender/bmesh/intern/bmesh_core.c index 18575b42d94..6f886ed5b37 100644 --- a/source/blender/bmesh/intern/bmesh_core.c +++ b/source/blender/bmesh/intern/bmesh_core.c @@ -1732,8 +1732,7 @@ BMEdge *bmesh_jekv(BMesh *bm, BMEdge *e_kill, BMVert *v_kill, l_kill = l_kill->radial_next; } for (i = 0; i < radlen; i++) { - bm->totloop--; - BLI_mempool_free(bm->lpool, loops[i]); + bm_kill_only_loop(bm, loops[i]); } } #ifndef NDEBUG |