diff options
-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; } |