[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [12161] trunk/blender/source/blender/src: bugfix from 11860, the derived mesh was getting free'd twice (crashed

Campbell Barton cbarton at metavr.com
Thu Sep 27 22:41:57 CEST 2007


Revision: 12161
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=12161
Author:   campbellbarton
Date:     2007-09-27 22:41:56 +0200 (Thu, 27 Sep 2007)

Log Message:
-----------
bugfix from 11860, the derived mesh was getting free'd twice (crashed 
editmode + linked-dupes + texture-drawtype)

Also fixed own bug with face mode setting (wasnt checking for texface)

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

Modified: trunk/blender/source/blender/src/drawobject.c
===================================================================
--- trunk/blender/source/blender/src/drawobject.c	2007-09-27 17:45:53 UTC (rev 12160)
+++ trunk/blender/source/blender/src/drawobject.c	2007-09-27 20:41:56 UTC (rev 12161)
@@ -2410,9 +2410,14 @@
 		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);
 
-		if (cageDM != finalDM)
+		/* 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);
-		finalDM->release(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)) {

Modified: trunk/blender/source/blender/src/editmesh_tools.c
===================================================================
--- trunk/blender/source/blender/src/editmesh_tools.c	2007-09-27 17:45:53 UTC (rev 12160)
+++ trunk/blender/source/blender/src/editmesh_tools.c	2007-09-27 20:41:56 UTC (rev 12161)
@@ -5111,10 +5111,11 @@
 	short m_tex=0, m_tiles=0, m_shared=0, m_light=0, m_invis=0, m_collision=0, m_twoside=0, m_obcolor=0; 
 	short flag = 0, change = 0;
 	
-	if(G.obedit==0) return;
+	if (!EM_texFaceCheck()) {
+		error("not a mesh with uv/image layers");
+		return;
+	}
 	
-	if(G.obedit->type != OB_MESH) return;
-	
 	add_numbut(0, TOG|SHO, "Texture", 0, 0, &m_tex, NULL);
 	add_numbut(1, TOG|SHO, "Tiles", 0, 0, &m_tiles, NULL);
 	add_numbut(2, TOG|SHO, "Shared", 0, 0, &m_shared, NULL);

Modified: trunk/blender/source/blender/src/header_view3d.c
===================================================================
--- trunk/blender/source/blender/src/header_view3d.c	2007-09-27 17:45:53 UTC (rev 12160)
+++ trunk/blender/source/blender/src/header_view3d.c	2007-09-27 20:41:56 UTC (rev 12161)
@@ -2768,7 +2768,7 @@
 	
 	uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Convert Quads to Triangles|Ctrl T",	0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, "");
 	uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Convert Triangles to Quads|Alt J", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
-	uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Flip Triangle Edges|Ctrl F",		0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, "");
+	uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Flip Triangle Edges|Ctrl Shift F",		0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, "");
 	
 	uiDefBut(block, SEPR, 0, "",			0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
 	





More information about the Bf-blender-cvs mailing list