diff options
author | Ton Roosendaal <ton@blender.org> | 2009-07-19 20:53:57 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2009-07-19 20:53:57 +0400 |
commit | 9e047d5acc853f026680e5411af78805222160a1 (patch) | |
tree | 9f8e643e532d9535c023d08a5bcbfa2ba8f8b9db /source | |
parent | b96a6e183863e5280a6e48a462593e8df72050ef (diff) |
2.5
Bugfix: the 'active 3d view layer' was never set, causing issues when
adding new objects. Reported by Martin, thanks!
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/space_view3d/view3d_header.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/source/blender/editors/space_view3d/view3d_header.c b/source/blender/editors/space_view3d/view3d_header.c index 8cceb46c559..677d3c20de1 100644 --- a/source/blender/editors/space_view3d/view3d_header.c +++ b/source/blender/editors/space_view3d/view3d_header.c @@ -284,6 +284,21 @@ static int layers_exec(bContext *C, wmOperator *op) else v3d->lay = (1<<nr); + /* set active layer, ensure to always have one */ + if(v3d->lay & (1<<nr)) + v3d->layact= 1<<nr; + else if((v3d->lay & v3d->layact)==0) { + int bit= 0; + + while(bit<32) { + if(v3d->lay & (1<<bit)) { + v3d->layact= 1<<bit; + break; + } + bit++; + } + } + if(v3d->scenelock) handle_view3d_lock(C); /* new layers might need unflushed events events */ |