Fix T71611: Outliner - Show only Visible/Hidden Objects not working when hiding Collections

Use BASE_VISIBLE_VIEWLAYER (rather than BASE_VISIBLE_DEPSGRAPH -- which
is not including the 'Hide in Viewport')

Note: the is one case where this still 'fails':
- 'Show only Hidden' plus excluding the parent collection (would be nice
to show those -- but contents of excluded excluded collections dont get
show in any case... this would be more work and for another report...)

Maniphest Tasks: T71611

Differential Revision: https://developer.blender.org/D6953
This commit is contained in:
2020-02-27 18:32:56 +01:00
parent 94dcfe7a77
commit 4c83e6bac0

View File

@@ -2090,12 +2090,12 @@ static bool outliner_element_visible_get(ViewLayer *view_layer,
}
if (exclude_filter & SO_FILTER_OB_STATE_VISIBLE) {
if ((base->flag & BASE_VISIBLE_DEPSGRAPH) == 0) {
if ((base->flag & BASE_VISIBLE_VIEWLAYER) == 0) {
return false;
}
}
else if (exclude_filter & SO_FILTER_OB_STATE_HIDDEN) {
if ((base->flag & BASE_VISIBLE_DEPSGRAPH) != 0) {
if ((base->flag & BASE_VISIBLE_VIEWLAYER) != 0) {
return false;
}
}