[Bf-blender-cvs] [f5cee25] master: Fix T41149: Dissolve Crash Due to AutoSmooth.

Bastien Montagne noreply at git.blender.org
Thu Jul 24 09:19:49 CEST 2014


Commit: f5cee25a1229420c6e5df4aee63a191f8268f6a0
Author: Bastien Montagne
Date:   Thu Jul 24 09:15:38 2014 +0200
Branches: master
https://developer.blender.org/rBf5cee25a1229420c6e5df4aee63a191f8268f6a0

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...

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

M	source/blender/bmesh/intern/bmesh_core.c

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

diff --git a/source/blender/bmesh/intern/bmesh_core.c b/source/blender/bmesh/intern/bmesh_core.c
index 18575b4..6f886ed 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




More information about the Bf-blender-cvs mailing list