[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