diff options
author | Ton Roosendaal <ton@blender.org> | 2007-04-04 14:37:28 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2007-04-04 14:37:28 +0400 |
commit | ead26625c19143b8bafa8310b0abf0409c79a67a (patch) | |
tree | b77573a177ea40ffe24126a31922db16016abcde /source/blender/src | |
parent | 083afdfb745bfc1ca927f25ef90e84dd363b2f14 (diff) |
Bugfix #6486
Posemode: you can get a situation of an active object, in posemode, which
is not selected. That is very invisible, and gives issues for tools like
'clear rotation', because it checks for selected objects.
Als fixed clear (alt+g,r,s) options to only work on posemode for the active
object.
Diffstat (limited to 'source/blender/src')
-rw-r--r-- | source/blender/src/editobject.c | 2 | ||||
-rw-r--r-- | source/blender/src/editview.c | 8 |
2 files changed, 6 insertions, 4 deletions
diff --git a/source/blender/src/editobject.c b/source/blender/src/editobject.c index cbd8e45f132..4837d7b2c03 100644 --- a/source/blender/src/editobject.c +++ b/source/blender/src/editobject.c @@ -999,7 +999,7 @@ void clear_object(char mode) if TESTBASELIB(base) { ob= base->object; - if(ob->flag & OB_POSEMODE) { + if( (ob->flag & OB_POSEMODE) && ob==OBACT) { clear_armature(ob, mode); armature_clear= 1; /* silly system to prevent another dag update, so no action applied */ } diff --git a/source/blender/src/editview.c b/source/blender/src/editview.c index c38ba9e8f8c..2fc9cee5138 100644 --- a/source/blender/src/editview.c +++ b/source/blender/src/editview.c @@ -1409,11 +1409,13 @@ void mouse_select(void) if(has_bones && basact) { if( do_pose_selectbuffer(basact, buffer, hits) ) { /* then bone is found */ + /* we make the armature selected: + not-selected active object in posemode won't work well for tools */ + basact->flag|= SELECT; + basact->object->flag= basact->flag; + /* in weightpaint, we use selected bone to select vertexgroup, so no switch to new active object */ if(G.f & G_WEIGHTPAINT) { - /* we make the armature selected */ - basact->flag|= SELECT; - basact->object->flag= basact->flag; /* prevent activating */ basact= NULL; } |