[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [27982] trunk/blender/source/blender: Fix crash entering edit mode on linked duplicate meshes with

Brecht Van Lommel brecht at blender.org
Sun Apr 4 12:37:47 CEST 2010


Revision: 27982
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27982
Author:   blendix
Date:     2010-04-04 12:37:47 +0200 (Sun, 04 Apr 2010)

Log Message:
-----------
Fix crash entering edit mode on linked duplicate meshes with
dupliverts. The flag mode & OB_MODE_EDIT only indicates that
this object is being edited by the user, not if the mesh is
in editmode or not, it should check for the existence of
me->edit_mesh. Also corrected two other places for this.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/anim.c
    trunk/blender/source/blender/blenkernel/intern/object.c
    trunk/blender/source/blender/makesrna/intern/rna_object.c

Modified: trunk/blender/source/blender/blenkernel/intern/anim.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/anim.c	2010-04-04 02:37:22 UTC (rev 27981)
+++ trunk/blender/source/blender/blenkernel/intern/anim.c	2010-04-04 10:37:47 UTC (rev 27982)
@@ -837,7 +837,7 @@
 					/* mballs have a different dupli handling */
 					if(ob->type!=OB_MBALL) ob->flag |= OB_DONE;	/* doesnt render */
 
-					if(par->mode & OB_MODE_EDIT) {
+					if(me->edit_mesh) {
 						dm->foreachMappedVert(dm, vertex_dupli__mapFunc, (void*) &vdd);
 					}
 					else {
@@ -1048,7 +1048,7 @@
 		else		go= go->next;		/* group loop */
 	}
 	
-	if(par->mode & OB_MODE_EDIT) {
+	if(em) {
 		MEM_freeN(mface);
 		MEM_freeN(mvert);
 	}

Modified: trunk/blender/source/blender/blenkernel/intern/object.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/object.c	2010-04-04 02:37:22 UTC (rev 27981)
+++ trunk/blender/source/blender/blenkernel/intern/object.c	2010-04-04 10:37:47 UTC (rev 27982)
@@ -2502,7 +2502,7 @@
 				BKE_animsys_evaluate_animdata(data_id, adt, ctime, ADT_RECALC_DRIVERS);
 				
 					// here was vieweditdatamask? XXX
-				if(ob->mode & OB_MODE_EDIT) {
+				if(em) {
 					makeDerivedMesh(scene, ob, em, CD_MASK_BAREMESH);
 					BKE_mesh_end_editmesh(ob->data, em);
 				} else

Modified: trunk/blender/source/blender/makesrna/intern/rna_object.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_object.c	2010-04-04 02:37:22 UTC (rev 27981)
+++ trunk/blender/source/blender/makesrna/intern/rna_object.c	2010-04-04 10:37:47 UTC (rev 27982)
@@ -485,7 +485,7 @@
 	Object *ob= (Object*)ptr->id.data;
 	ob->actcol= value+1;
 
-	if((ob->mode & OB_MODE_EDIT) && ob->type==OB_MESH) {
+	if(ob->type==OB_MESH) {
 		Mesh *me= ob->data;
 
 		if(me->edit_mesh)





More information about the Bf-blender-cvs mailing list