diff options
author | Joseph Eagar <joeedh@gmail.com> | 2007-02-10 22:07:47 +0300 |
---|---|---|
committer | Joseph Eagar <joeedh@gmail.com> | 2007-02-10 22:07:47 +0300 |
commit | fd05f23dce6f0a1d9bb0be18ec6cb9787accd9d3 (patch) | |
tree | cca4e8179de56b731901075fc0f913d600703300 /source/blender/src/outliner.c | |
parent | 8e837d6f8676de5f08c64f21402b799055ac4942 (diff) |
=Armature Undo Fix=
Armature undo was incomplete; no less then 6 places needed undo pushes.
Added undo pushes, and made sure deselectall_armature/posearmature played nice
and only did undo pushes when they're called with AKEY.
This seems like a fairly old issue. I guess people just didn't notice it enough
to file a bug report. :)
Diffstat (limited to 'source/blender/src/outliner.c')
-rw-r--r-- | source/blender/src/outliner.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/source/blender/src/outliner.c b/source/blender/src/outliner.c index 8bb2797405b..6b777377a0f 100644 --- a/source/blender/src/outliner.c +++ b/source/blender/src/outliner.c @@ -1600,8 +1600,8 @@ static int tree_element_active_posechannel(TreeElement *te, TreeStoreElem *tsele if(set) { if(!(pchan->bone->flag & BONE_HIDDEN_P)) { - if(G.qual & LR_SHIFTKEY) deselectall_posearmature(ob, 2); // 2 = clear active tag - else deselectall_posearmature(ob, 0); // 0 = deselect + if(G.qual & LR_SHIFTKEY) deselectall_posearmature(ob, 2, 0); // 2 = clear active tag + else deselectall_posearmature(ob, 0, 0); // 0 = deselect pchan->bone->flag |= BONE_SELECTED|BONE_ACTIVE; allqueue(REDRAWVIEW3D, 0); @@ -1624,8 +1624,8 @@ static int tree_element_active_bone(TreeElement *te, TreeStoreElem *tselem, int if(set) { if(!(bone->flag & BONE_HIDDEN_P)) { - if(G.qual & LR_SHIFTKEY) deselectall_posearmature(OBACT, 2); // 2 is clear active tag - else deselectall_posearmature(OBACT, 0); + if(G.qual & LR_SHIFTKEY) deselectall_posearmature(OBACT, 2, 0); // 2 is clear active tag + else deselectall_posearmature(OBACT, 0, 0); bone->flag |= BONE_SELECTED|BONE_ACTIVE; allqueue(REDRAWVIEW3D, 0); @@ -1652,8 +1652,8 @@ static int tree_element_active_ebone(TreeElement *te, TreeStoreElem *tselem, int if(set) { if(!(ebone->flag & BONE_HIDDEN_A)) { - if(G.qual & LR_SHIFTKEY) deselectall_armature(2); // only clear active tag - else deselectall_armature(0); // deselect + if(G.qual & LR_SHIFTKEY) deselectall_armature(2, 0); // only clear active tag + else deselectall_armature(0, 0); // deselect ebone->flag |= BONE_SELECTED|BONE_ROOTSEL|BONE_TIPSEL|BONE_ACTIVE; // flush to parent? |