Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2007-04-04 14:37:28 +0400
committerTon Roosendaal <ton@blender.org>2007-04-04 14:37:28 +0400
commitead26625c19143b8bafa8310b0abf0409c79a67a (patch)
treeb77573a177ea40ffe24126a31922db16016abcde /source/blender/src
parent083afdfb745bfc1ca927f25ef90e84dd363b2f14 (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.c2
-rw-r--r--source/blender/src/editview.c8
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;
}