From ead26625c19143b8bafa8310b0abf0409c79a67a Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Wed, 4 Apr 2007 10:37:28 +0000 Subject: [PATCH] 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. --- source/blender/src/editobject.c | 2 +- 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; }