Commit: 717ab5aeaecca72faaf9aeae4b469571cc8d4aee
Author: Bastien Montagne
Date:   Fri Jun 10 15:54:59 2022 +0200
Branches: master
https://developer.blender.org/rB717ab5aeaecca72faaf9aeae4b469571cc8d4aee

LibOverride: Consider animated/driven properties as part of the 'system 
override' ones in the Outliner.

Conceptually animated/driven properties are not controlled by the
liboverride system anymore, even though they may generate override
operations. So consider them as part of the 'system overrides' category,
and hide them by default in the Outliner.

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

M       source/blender/editors/space_outliner/tree/tree_element_overrides.cc

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

diff --git 
a/source/blender/editors/space_outliner/tree/tree_element_overrides.cc 
b/source/blender/editors/space_outliner/tree/tree_element_overrides.cc
index 51ca2eff9ee..203ad18f85c 100644
--- a/source/blender/editors/space_outliner/tree/tree_element_overrides.cc
+++ b/source/blender/editors/space_outliner/tree/tree_element_overrides.cc
@@ -71,18 +71,29 @@ void TreeElementOverridesBase::expand(SpaceOutliner 
&space_outliner) const
     const bool is_rna_path_valid = BKE_lib_override_rna_property_find(
         &idpoin, override_prop, &override_rna_ptr, &override_rna_prop, 
&rnaprop_index);
 
-    if (is_rna_path_valid && !show_system_overrides &&
-        ELEM(override_prop->rna_prop_type, PROP_POINTER, PROP_COLLECTION) &&
-        RNA_struct_is_ID(RNA_property_pointer_type(&override_rna_ptr, 
override_rna_prop))) {
+    /* Check for conditions where the liboverride property should be 
considered as a system
+     * override, if needed. */
+    if (is_rna_path_valid && !show_system_overrides) {
       bool do_continue = true;
-      for (auto *override_prop_op :
-           
ListBaseWrapper<IDOverrideLibraryPropertyOperation>(override_prop->operations)) 
{
-        if ((override_prop_op->flag & 
IDOVERRIDE_LIBRARY_FLAG_IDPOINTER_MATCH_REFERENCE) == 0) {
-          do_continue = false;
-          break;
+
+      /* Matching ID pointers are considered as system overrides. */
+      if (ELEM(override_prop->rna_prop_type, PROP_POINTER, PROP_COLLECTION) &&
+          RNA_struct_is_ID(RNA_property_pointer_type(&override_rna_ptr, 
override_rna_prop))) {
+        for (auto *override_prop_op :
+             
ListBaseWrapper<IDOverrideLibraryPropertyOperation>(override_prop->operations)) 
{
+          if ((override_prop_op->flag & 
IDOVERRIDE_LIBRARY_FLAG_IDPOINTER_MATCH_REFERENCE) == 0) {
+            do_continue = false;
+            break;
+          }
         }
       }
 
+      /* Animated/driven properties are considered as system overrides. */
+      if (!BKE_lib_override_library_property_is_animated(
+              &id, override_prop, override_rna_prop, rnaprop_index)) {
+        do_continue = false;
+      }
+
       if (do_continue) {
         continue;
       }

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to