[Bf-blender-cvs] [a9ee8d49b4f] soc-2019-outliner: Outliner: Fix crash on range select when no active element exists
Nathan Craddock
noreply at git.blender.org
Wed Jul 3 03:47:49 CEST 2019
Commit: a9ee8d49b4fba40f5b5fa4f4abb132ec05bf2f19
Author: Nathan Craddock
Date: Tue Jul 2 10:48:32 2019 -0600
Branches: soc-2019-outliner
https://developer.blender.org/rBa9ee8d49b4fba40f5b5fa4f4abb132ec05bf2f19
Outliner: Fix crash on range select when no active element exists
The old code incorrectly assumed that an active element always
existed. The fix is to set the cursor element to active when
no active element is found.
===================================================================
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 b87d517adf1..861028e1c8c 100644
--- a/source/blender/editors/space_outliner/outliner_select.c
+++ b/source/blender/editors/space_outliner/outliner_select.c
@@ -1278,6 +1278,12 @@ static void do_outliner_range_select_recursive(ListBase *lb,
static void do_outliner_range_select(SpaceOutliner *soops, TreeElement *cursor)
{
TreeElement *active = outliner_find_active_element(&soops->tree);
+
+ if (!active) {
+ TREESTORE(cursor)->flag |= TSE_SELECTED | TSE_ACTIVE;
+ return;
+ }
+
TreeStoreElem *tselem = TREESTORE(active);
const bool active_selected = (tselem->flag & TSE_SELECTED);
More information about the Bf-blender-cvs
mailing list