[Bf-blender-cvs] [63076a7d7f5] soc-2019-outliner: Outliner: Move active element code
Nathan Craddock
noreply at git.blender.org
Tue Jul 9 06:47:52 CEST 2019
Commit: 63076a7d7f5e51ee2c565dcd02d8ace387054a06
Author: Nathan Craddock
Date: Mon Jul 8 22:10:57 2019 -0600
Branches: soc-2019-outliner
https://developer.blender.org/rB63076a7d7f5e51ee2c565dcd02d8ace387054a06
Outliner: Move active element code
Moves code for setting active element to activate function
rather than select function as this makes more sense
===================================================================
M source/blender/editors/space_outliner/outliner_select.c
===================================================================
diff --git a/source/blender/editors/space_outliner/outliner_select.c b/source/blender/editors/space_outliner/outliner_select.c
index fa3401f49c0..6b6774f19a9 100644
--- a/source/blender/editors/space_outliner/outliner_select.c
+++ b/source/blender/editors/space_outliner/outliner_select.c
@@ -1123,6 +1123,10 @@ static void do_outliner_item_activate_tree_element(bContext *C,
const bool extend,
const bool recursive)
{
+ /* Set TreeStore flags for active element */
+ outliner_flag_set(&soops->tree, TSE_ACTIVE, false);
+ tselem->flag |= TSE_ACTIVE;
+
/* Always makes active object, except for some specific types. */
if (ELEM(tselem->type,
TSE_SEQUENCE,
@@ -1236,16 +1240,12 @@ void outliner_item_select(SpaceOutliner *soops,
const bool toggle)
{
TreeStoreElem *tselem = TREESTORE(te);
- const short new_flag = (toggle && (tselem->flag & TSE_ACTIVE)) ? (tselem->flag ^ TSE_SELECTED) :
- (tselem->flag | TSE_SELECTED);
-
- // Change active element
- outliner_flag_set(&soops->tree, TSE_ACTIVE, false);
+ const short new_flag = toggle ? (tselem->flag ^ TSE_SELECTED) : (tselem->flag | TSE_SELECTED);
if (extend == false) {
outliner_flag_set(&soops->tree, TSE_SELECTED, false);
}
- tselem->flag = new_flag | TSE_ACTIVE;
+ tselem->flag = new_flag;
}
static void do_outliner_range_select_recursive(ListBase *lb,
@@ -1681,7 +1681,7 @@ static void do_outliner_select_walk(
}
/* Activate rather than just setting flags to support mode switching */
- outliner_item_select(soops, active, extend, extend);
+ outliner_item_select(soops, active, extend, false);
do_outliner_item_activate_tree_element(
C, scene, view_layer, soops, active, tselem_new, extend, false);
}
More information about the Bf-blender-cvs
mailing list