diff options
author | Hans Goudey <h.goudey@me.com> | 2021-02-19 22:56:49 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2021-02-19 22:56:49 +0300 |
commit | 34580748dcf0a3656dd634fc90cb00ec27367376 (patch) | |
tree | 75d813f3697481084410943c61a42d3bbf5f748c /source/blender/nodes | |
parent | 55700ac3906f182be8d3dff6f7d63cc27463d91b (diff) |
Fix T83027: Incorrect outliner collection state after operator
The "Hide Collection" operators assigned to the number keys in edit mode
trigger a redraw of the outliner, but as an optimization, they do *not*
trigger a rebuild of the tree.
This optimization is valid because unlike the collection exclude toggle,
the heirarchy is not affected by collection visibility. However, it means
that currently you must trigger a rebuild to get the correct "grayed out"
status after using the operator.
Rather than trigger a rebuild in this case to solve the bug, this patch
moves the decision for whether to gray out the text of a tree element
to the draw step rather than the build step. This means that any change
to the corresponding properties doesn't require a full tree rebuild.
Note that changing the "hide_viewport" property from the outliner still
causes a tree rebuild. I think that's because of the checks in
`outliner_collection_set_flag_recursive_fn`.
That could be optimized in the future.
Differential Revision: https://developer.blender.org/D10240
Diffstat (limited to 'source/blender/nodes')
0 files changed, 0 insertions, 0 deletions