diff options
author | Bastien Montagne <bastien@blender.org> | 2022-06-16 10:56:15 +0300 |
---|---|---|
committer | Bastien Montagne <bastien@blender.org> | 2022-06-16 10:56:15 +0300 |
commit | 36307d8fbaa6778ddac89cae669511f03bd3f22d (patch) | |
tree | 38828240a5650e38eb875c27bb2ccfd4b41e34eb /source | |
parent | 1064bf58c3e8fd28d55a09632046a3c008ca1f03 (diff) |
Fix (studio-reported) broken 'system override' filtering in liboverride view of the Outliner.
Regression from recent rB717ab5aeaecc.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/space_outliner/tree/tree_element_overrides.cc | 16 |
1 files changed, 10 insertions, 6 deletions
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 203ad18f85c..871de39b1dd 100644 --- a/source/blender/editors/space_outliner/tree/tree_element_overrides.cc +++ b/source/blender/editors/space_outliner/tree/tree_element_overrides.cc @@ -74,7 +74,8 @@ void TreeElementOverridesBase::expand(SpaceOutliner &space_outliner) const /* 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; + bool do_skip = true; + bool is_system_override = false; /* Matching ID pointers are considered as system overrides. */ if (ELEM(override_prop->rna_prop_type, PROP_POINTER, PROP_COLLECTION) && @@ -82,19 +83,22 @@ void TreeElementOverridesBase::expand(SpaceOutliner &space_outliner) const 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; + do_skip = false; break; } + else { + is_system_override = true; + } } } /* 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 (!is_system_override && !BKE_lib_override_library_property_is_animated( + &id, override_prop, override_rna_prop, rnaprop_index)) { + do_skip = false; } - if (do_continue) { + if (do_skip) { continue; } } |