[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23685] trunk/blender/source/blender: Check if the object is in editmode with (ob->mode==OB_MODE_EDIT) rather then (ob==scene->obedit)

Campbell Barton ideasman42 at gmail.com
Wed Oct 7 13:36:29 CEST 2009


Revision: 23685
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23685
Author:   campbellbarton
Date:     2009-10-07 13:36:29 +0200 (Wed, 07 Oct 2009)

Log Message:
-----------
Check if the object is in editmode with (ob->mode==OB_MODE_EDIT) rather then (ob==scene->obedit)
Was trying to fix a hard to redo crash with custom bone shapes in editmode but cant redo. still, will help with future multi-editmode.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/anim.c
    trunk/blender/source/blender/blenkernel/intern/modifier.c
    trunk/blender/source/blender/blenkernel/intern/object.c
    trunk/blender/source/blender/editors/space_view3d/drawmesh.c
    trunk/blender/source/blender/editors/space_view3d/drawobject.c

Modified: trunk/blender/source/blender/blenkernel/intern/anim.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/anim.c	2009-10-07 10:54:43 UTC (rev 23684)
+++ trunk/blender/source/blender/blenkernel/intern/anim.c	2009-10-07 11:36:29 UTC (rev 23685)
@@ -549,7 +549,7 @@
 					/* mballs have a different dupli handling */
 					if(ob->type!=OB_MBALL) ob->flag |= OB_DONE;	/* doesnt render */
 
-					if(par==scene->obedit) {
+					if(par->mode==OB_MODE_EDIT) {
 						dm->foreachMappedVert(dm, vertex_dupli__mapFunc, (void*) &vdd);
 					}
 					else {
@@ -760,7 +760,7 @@
 		else		go= go->next;		/* group loop */
 	}
 	
-	if(par==scene->obedit) {
+	if(par->mode==OB_MODE_EDIT) {
 		MEM_freeN(mface);
 		MEM_freeN(mvert);
 	}

Modified: trunk/blender/source/blender/blenkernel/intern/modifier.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/modifier.c	2009-10-07 10:54:43 UTC (rev 23684)
+++ trunk/blender/source/blender/blenkernel/intern/modifier.c	2009-10-07 11:36:29 UTC (rev 23685)
@@ -9137,7 +9137,7 @@
 	ModifierData *md = modifiers_getVirtualModifierList(ob);
 	
 	for (; md; md=md->next) {
-		if(ob==scene->obedit && (md->mode & eModifierMode_Editmode)==0);
+		if(ob->mode==OB_MODE_EDIT && (md->mode & eModifierMode_Editmode)==0);
 		else 
 			if(modifier_isDeformer(md))
 				return 1;

Modified: trunk/blender/source/blender/blenkernel/intern/object.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/object.c	2009-10-07 10:54:43 UTC (rev 23684)
+++ trunk/blender/source/blender/blenkernel/intern/object.c	2009-10-07 11:36:29 UTC (rev 23685)
@@ -2367,7 +2367,7 @@
 				EditMesh *em = BKE_mesh_get_editmesh(ob->data);
 
 					// here was vieweditdatamask? XXX
-				if(ob==scene->obedit) {
+				if(ob->mode==OB_MODE_EDIT) {
 					makeDerivedMesh(scene, ob, em, CD_MASK_BAREMESH);
 					BKE_mesh_end_editmesh(ob->data, em);
 				} else

Modified: trunk/blender/source/blender/editors/space_view3d/drawmesh.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/drawmesh.c	2009-10-07 10:54:43 UTC (rev 23684)
+++ trunk/blender/source/blender/editors/space_view3d/drawmesh.c	2009-10-07 11:36:29 UTC (rev 23685)
@@ -350,7 +350,7 @@
 	int istex, solidtex= 0;
 
 	// XXX scene->obedit warning
-	if(v3d->drawtype==OB_SOLID || (ob==scene->obedit && v3d->drawtype!=OB_TEXTURE)) {
+	if(v3d->drawtype==OB_SOLID || (ob->mode==OB_MODE_EDIT && v3d->drawtype!=OB_TEXTURE)) {
 		/* draw with default lights in solid draw mode and edit mode */
 		solidtex= 1;
 		Gtexdraw.islit= -1;
@@ -561,7 +561,7 @@
 		return;
 
 	/* don't draw when editing */
-	if(ob == scene->obedit)
+	if(ob->mode==OB_MODE_EDIT)
 		return;
 	else if(ob==OBACT)
 		if(paint_facesel_test(ob))
@@ -641,7 +641,7 @@
 	/* draw the textured mesh */
 	draw_textured_begin(scene, v3d, rv3d, ob);
 
-	if(ob == scene->obedit) {
+	if(ob->mode==OB_MODE_EDIT) {
 		glColor4f(1.0f,1.0f,1.0f,1.0f);
 		dm->drawMappedFacesTex(dm, draw_em_tf_mapped__set_draw, me->edit_mesh);
 	} else if(faceselect) {

Modified: trunk/blender/source/blender/editors/space_view3d/drawobject.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/drawobject.c	2009-10-07 10:54:43 UTC (rev 23684)
+++ trunk/blender/source/blender/editors/space_view3d/drawobject.c	2009-10-07 11:36:29 UTC (rev 23685)
@@ -5512,7 +5512,7 @@
 	if(ob==OBACT && (ob->mode & (OB_MODE_VERTEX_PAINT|OB_MODE_WEIGHT_PAINT|OB_MODE_TEXTURE_PAINT))) {
 		if(ob->type==OB_MESH) {
 
-			if(ob==scene->obedit);
+			if(ob->mode==OB_MODE_EDIT);
 			else {
 				if(dt<OB_SOLID)
 					zbufoff= 1;
@@ -5534,7 +5534,7 @@
 	if(dt>=OB_BOUNDBOX ) {
 
 		dtx= ob->dtx;
-		if(scene->obedit==ob) {
+		if(ob->mode==OB_MODE_EDIT) {
 			// the only 2 extra drawtypes alowed in editmode
 			dtx= dtx & (OB_DRAWWIRE|OB_TEXSPACE);
 		}
@@ -5550,7 +5550,7 @@
 	
 	/* draw outline for selected solid objects, mesh does itself */
 	if((v3d->flag & V3D_SELECT_OUTLINE) && ob->type!=OB_MESH) {
-		if(dt>OB_WIRE && dt<OB_TEXTURE && ob!=scene->obedit && (flag && DRAW_SCENESET)==0) {
+		if(dt>OB_WIRE && dt<OB_TEXTURE && ob->mode!=OB_MODE_EDIT && (flag && DRAW_SCENESET)==0) {
 			if (!(ob->dtx&OB_DRAWWIRE) && (ob->flag&SELECT) && !(flag&DRAW_PICKING)) {
 				
 				drawSolidSelect(scene, v3d, ar, base);
@@ -6159,7 +6159,7 @@
 	switch( ob->type) {
 	case OB_MESH:
 	{
-		if(ob == scene->obedit) {
+		if(ob->mode==OB_MODE_EDIT) {
 			Mesh *me= ob->data;
 			EditMesh *em= me->edit_mesh;
 
@@ -6215,7 +6215,7 @@
 	DerivedMesh *dm=NULL, *edm=NULL;
 	int glsl;
 	
-	if(ob == scene->obedit)
+	if(ob->mode == OB_MODE_EDIT)
 		edm= editmesh_get_derived_base(ob, me->edit_mesh);
 	else 
 		dm = mesh_get_derived_final(scene, ob, CD_MASK_BAREMESH);





More information about the Bf-blender-cvs mailing list