[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [12593] trunk/blender/source/blender/src:

Brecht Van Lommel brechtvanlommel at pandora.be
Wed Nov 14 23:56:32 CET 2007


Revision: 12593
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=12593
Author:   blendix
Date:     2007-11-14 23:56:32 +0100 (Wed, 14 Nov 2007)

Log Message:
-----------

Bugfix:

Drawing linked duplicates in editmode leaked memory, and could
also crash. This fixes the memory leak, and hopefully also the
crash.

Modified Paths:
--------------
    trunk/blender/source/blender/src/drawimage.c
    trunk/blender/source/blender/src/drawobject.c

Modified: trunk/blender/source/blender/src/drawimage.c
===================================================================
--- trunk/blender/source/blender/src/drawimage.c	2007-11-14 22:44:30 UTC (rev 12592)
+++ trunk/blender/source/blender/src/drawimage.c	2007-11-14 22:56:32 UTC (rev 12593)
@@ -530,7 +530,7 @@
 		) {
 			/* we can use the existing final mesh */
 			glColor3ub(112, 112, 112);
-			G.editMesh->derivedFinal->drawUVEdges(G.editMesh->derivedFinal);
+			em->derivedFinal->drawUVEdges(em->derivedFinal);
 		} else {
 			DerivedMesh *finalDM, *cageDM;
 			

Modified: trunk/blender/source/blender/src/drawobject.c
===================================================================
--- trunk/blender/source/blender/src/drawobject.c	2007-11-14 22:44:30 UTC (rev 12592)
+++ trunk/blender/source/blender/src/drawobject.c	2007-11-14 22:56:32 UTC (rev 12593)
@@ -2417,14 +2417,8 @@
 		if(dt>OB_WIRE) init_gl_materials(ob, 0);	// no transp in editmode, the fancy draw over goes bad then
 		draw_em_fancy(ob, G.editMesh, cageDM, finalDM, dt);
 
-		/* TODO, not 100% sure this is correct,
-		 * however I could not make it crash or leak ram with different
-		 * linked-dup/modifier configurtions,
-		 * should double check whats going on before release - Campbell */
-		if (cageDM != finalDM) {
-			cageDM->release(cageDM);
+		if (G.obedit!=ob && finalDM)
 			finalDM->release(finalDM);
-		}
 	}
 	else if(!G.obedit && (G.f & G_SCULPTMODE) &&(G.scene->sculptdata.flags & SCULPT_DRAW_FAST) &&
 	        OBACT==ob && !sculpt_modifiers_active(ob)) {





More information about the Bf-blender-cvs mailing list