Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Montagne <bastien@blender.org>2022-06-16 10:56:15 +0300
committerBastien Montagne <bastien@blender.org>2022-06-16 10:56:15 +0300
commit36307d8fbaa6778ddac89cae669511f03bd3f22d (patch)
tree38828240a5650e38eb875c27bb2ccfd4b41e34eb
parent1064bf58c3e8fd28d55a09632046a3c008ca1f03 (diff)
Fix (studio-reported) broken 'system override' filtering in liboverride view of the Outliner.
Regression from recent rB717ab5aeaecc.
-rw-r--r--source/blender/editors/space_outliner/tree/tree_element_overrides.cc16
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;
}
}