forked from bartvdbraak/blender
make sure render layer names are unique when setting through rna.
This commit is contained in:
parent
f8317ed450
commit
9613de6248
@ -1259,7 +1259,6 @@ void ui_get_but_vectorf(uiBut *but, float vec[3])
|
|||||||
void ui_set_but_vectorf(uiBut *but, const float vec[3])
|
void ui_set_but_vectorf(uiBut *but, const float vec[3])
|
||||||
{
|
{
|
||||||
PropertyRNA *prop;
|
PropertyRNA *prop;
|
||||||
int a, tot;
|
|
||||||
|
|
||||||
if(but->editvec) {
|
if(but->editvec) {
|
||||||
copy_v3_v3(but->editvec, vec);
|
copy_v3_v3(but->editvec, vec);
|
||||||
@ -1269,13 +1268,17 @@ void ui_set_but_vectorf(uiBut *but, const float vec[3])
|
|||||||
prop= but->rnaprop;
|
prop= but->rnaprop;
|
||||||
|
|
||||||
if(RNA_property_type(prop) == PROP_FLOAT) {
|
if(RNA_property_type(prop) == PROP_FLOAT) {
|
||||||
|
int tot;
|
||||||
|
int a;
|
||||||
|
|
||||||
tot= RNA_property_array_length(&but->rnapoin, prop);
|
tot= RNA_property_array_length(&but->rnapoin, prop);
|
||||||
tot= MIN2(tot, 3);
|
tot= MIN2(tot, 3);
|
||||||
|
|
||||||
for(a=0; a<tot; a++)
|
for (a=0; a<tot; a++) {
|
||||||
RNA_property_float_set_index(&but->rnapoin, prop, a, vec[a]);
|
RNA_property_float_set_index(&but->rnapoin, prop, a, vec[a]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else if(but->pointype == CHA) {
|
else if(but->pointype == CHA) {
|
||||||
char *cp= (char *)but->poin;
|
char *cp= (char *)but->poin;
|
||||||
cp[0]= (char)(0.5f + vec[0]*255.0f);
|
cp[0]= (char)(0.5f + vec[0]*255.0f);
|
||||||
|
@ -812,8 +812,8 @@ static void rna_SceneRenderLayer_name_set(PointerRNA *ptr, const char *value)
|
|||||||
{
|
{
|
||||||
Scene *scene= (Scene*)ptr->id.data;
|
Scene *scene= (Scene*)ptr->id.data;
|
||||||
SceneRenderLayer *rl= (SceneRenderLayer*)ptr->data;
|
SceneRenderLayer *rl= (SceneRenderLayer*)ptr->data;
|
||||||
|
|
||||||
BLI_strncpy_utf8(rl->name, value, sizeof(rl->name));
|
BLI_strncpy_utf8(rl->name, value, sizeof(rl->name));
|
||||||
|
BLI_uniquename(&scene->r.layers, rl, "RenderLayer", '.', offsetof(SceneRenderLayer, name), sizeof(rl->name));
|
||||||
|
|
||||||
if(scene->nodetree) {
|
if(scene->nodetree) {
|
||||||
bNode *node;
|
bNode *node;
|
||||||
|
Loading…
Reference in New Issue
Block a user