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

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to