[Bf-blender-cvs] [9b93610f1a1] temp-lanpr-staging: Outliner: only activate outliner items when clicking on icon/text

Campbell Barton noreply at git.blender.org
Fri Aug 16 03:05:51 CEST 2019


Commit: 9b93610f1a1ed363b7e4c78020ab1f3afcb181f5
Author: Campbell Barton
Date:   Fri Aug 16 07:02:22 2019 +1000
Branches: temp-lanpr-staging
https://developer.blender.org/rB9b93610f1a1ed363b7e4c78020ab1f3afcb181f5

Outliner: only activate outliner items when clicking on icon/text

This is 2.7x behavior, while there are plans to improve on this,
committing in case larger changes take longer.

Without this it's not easy to select object data without changing modes.

See D5493

===================================================================

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 c932766ab93..7f45c4d22fa 100644
--- a/source/blender/editors/space_outliner/outliner_select.c
+++ b/source/blender/editors/space_outliner/outliner_select.c
@@ -1305,8 +1305,15 @@ static int outliner_item_do_activate_from_cursor(bContext *C,
     TreeStoreElem *activate_tselem = TREESTORE(activate_te);
 
     outliner_item_select(soops, activate_te, extend, extend);
-    do_outliner_item_activate_tree_element(
-        C, scene, view_layer, soops, activate_te, activate_tselem, extend, recursive);
+
+    /* Only change modes when clicking on the icon/text,
+     * otherwise we can't easily select without changing modes. */
+    if ((te->flag & TE_ICONROW) == 0) {
+      if (view_mval[0] >= te->xs && view_mval[0] <= te->xend) {
+        do_outliner_item_activate_tree_element(
+            C, scene, view_layer, soops, activate_te, activate_tselem, extend, recursive);
+      }
+    }
     changed = true;
   }



More information about the Bf-blender-cvs mailing list