- Previous commit broke selection of non-subsurf meshes :)

- fixed crash reported by SimonC on linked dupli meshes, editmode, set
  subsurf on, crash...
This commit is contained in:
2004-09-29 21:44:12 +00:00
parent c42f0fc5cf
commit 2c3e294ed5
2 changed files with 10 additions and 8 deletions

View File

@@ -1072,14 +1072,16 @@ void do_curvebuts(unsigned short event)
case B_MAKEDISP: case B_MAKEDISP:
if(ob->type==OB_FONT) text_to_curve(ob, 0); if(ob->type==OB_FONT) text_to_curve(ob, 0);
makeDispList(ob); makeDispList(ob);
/* we need signal to send to other users of same data to recalc... */ if(ob!=G.obedit) { // subsurf with linked dupli will crash
base= FIRSTBASE; /* we need signal to send to other users of same data to recalc... */
while(base) { base= FIRSTBASE;
if(base->lay & G.vd->lay) { while(base) {
if(base->object->data==ob->data && base->object!=ob) if(base->lay & G.vd->lay) {
makeDispList(base->object); if(base->object->data==ob->data && base->object!=ob)
makeDispList(base->object);
}
base= base->next;
} }
base= base->next;
} }
allqueue(REDRAWVIEW3D, 0); allqueue(REDRAWVIEW3D, 0);
allqueue(REDRAWINFO, 1); /* 1, because header->win==0! */ allqueue(REDRAWINFO, 1); /* 1, because header->win==0! */

View File

@@ -4450,7 +4450,7 @@ static int bbs_mesh_solid(Object *ob, int facecol)
a++; // the weird constructed loop ends with last drawn color... a++; // the weird constructed loop ends with last drawn color...
} }
else { else {
a= 1;
glBegin(GL_QUADS); glBegin(GL_QUADS);
glmode= GL_QUADS; glmode= GL_QUADS;
for(efa= G.editMesh->faces.first; efa; efa= efa->next, a++) { for(efa= G.editMesh->faces.first; efa; efa= efa->next, a++) {