Scene.c - scene.objects.context how dosnt include hidden objects

editview.c - deselect all ignores restricted objects
headerbuttons.c - removing a material didnt redraw the 3d view
vpaint.c - disable vpaint for mesh libdata as well as object libdata
This commit is contained in:
Campbell Barton 2007-04-30 08:00:48 +00:00
parent 22e1a26681
commit 8355326e01
4 changed files with 16 additions and 14 deletions

@ -1245,7 +1245,7 @@ int SceneObSeq_setObjects( BPy_SceneObSeq *self, PyObject *value, void *_mode_)
}
return 0;
}
if (!PySequence_Check(value))
return EXPP_ReturnIntError( PyExc_ValueError,
"Error, must assign a sequence of objects to scn.objects.selected" );
@ -1267,6 +1267,7 @@ int SceneObSeq_setObjects( BPy_SceneObSeq *self, PyObject *value, void *_mode_)
blen_ob->flag |= SELECT;
base->flag |= SELECT;
if (mode==EXPP_OBSEQ_CONTEXT && G.vd) {
blen_ob->restrictflag &= ~OB_RESTRICT_VIEW;
blen_ob->lay= base->lay= G.vd->lay;
}
}
@ -1310,7 +1311,7 @@ static int SceneObSeq_len( BPy_SceneObSeq * self )
return 0;
for (base= scene->base.first; base; base= base->next) {
if ((base->flag & SELECT) && (base->lay & G.vd->lay)) {
if TESTBASE(base) {
len++;
}
}
@ -1345,7 +1346,7 @@ static PyObject *SceneObSeq_item( BPy_SceneObSeq * self, int i )
else if (self->mode==EXPP_OBSEQ_CONTEXT)
if (G.vd)
for (base= scene->base.first; base && i!=index; base= base->next)
if ((base->flag & SELECT) && (base->lay & G.vd->lay))
if TESTBASE(base)
index++;
if (!(base))
@ -1398,7 +1399,7 @@ static PyObject *SceneObSeq_getIter( BPy_SceneObSeq * self )
if (!G.vd)
base= NULL; /* will never iterate if we have no */
else
while (base && !((base->flag & SELECT) && (base->lay & G.vd->lay)))
while (base && !TESTBASE(base))
base= base->next;
}
/* create a new iterator if were alredy using this one */
@ -1434,7 +1435,7 @@ static PyObject *SceneObSeq_nextIter( BPy_SceneObSeq * self )
if (!G.vd)
base= NULL; /* will never iterate if we have no */
else
while (base && !((base->flag & SELECT) && (base->lay & G.vd->lay)))
while (base && !TESTBASE(base))
base= base->next;
}
self->iter= base;

@ -904,17 +904,17 @@ void deselectall(void) /* is toggle */
base= FIRSTBASE;
while(base) {
/* is there a visible selected object */
if TESTBASE(base) {
ok= a= 1;
break;
}
/* are there any objects in the view*/
if(base->lay & G.vd->lay &&
(base->object->restrictflag & OB_RESTRICT_VIEW)==0 &&
(base->object->restrictflag & OB_RESTRICT_SELECT)==0
)
ok=1;
) {
if (base->flag & SELECT) {
ok= a= 1;
break;
} else {
ok=1;
}
}
base= base->next;
}

@ -765,6 +765,7 @@ void do_global_buttons(unsigned short event)
allqueue(REDRAWBUTSSHADING, 0);
allqueue(REDRAWIPO, 0);
allqueue(REDRAWOOPS, 0);
allqueue(REDRAWVIEW3D, 0);
BIF_preview_changed(ID_MA);
}
}

@ -1582,7 +1582,7 @@ void set_vpaint(void) /* toggle */
scrarea_queue_headredraw(curarea);
ob= OBACT;
if(!ob || ob->id.lib) {
if(!ob || object_data_is_libdata(ob)) {
G.f &= ~G_VERTEXPAINT;
return;
}