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:
authorJulian Eisel <julian@blender.org>2020-10-12 19:04:52 +0300
committerJulian Eisel <julian@blender.org>2020-10-12 19:21:12 +0300
commitc1cee363cd39aaf25cbf4e099a07d1c4df6d37d7 (patch)
treef1d26f13c671d36202e19f7c325e922883616335 /source/blender/editors/space_outliner/space_outliner.c
parent6f0b082378133afd944cc6af2e992c5f9fb12cd3 (diff)
Fix T81555: Outliner object state filter not updating correctly
When changing the selected, active or visible object(s), the Outliner has to be rebuilt while using the corresponding object state filters. The object hiding operators also have to send the proper notifiers (they changed visibility without notifying about that).
Diffstat (limited to 'source/blender/editors/space_outliner/space_outliner.c')
-rw-r--r--source/blender/editors/space_outliner/space_outliner.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/source/blender/editors/space_outliner/space_outliner.c b/source/blender/editors/space_outliner/space_outliner.c
index 2ed834a15dd..8be7f4d1bad 100644
--- a/source/blender/editors/space_outliner/space_outliner.c
+++ b/source/blender/editors/space_outliner/space_outliner.c
@@ -102,18 +102,25 @@ static void outliner_main_region_free(ARegion *UNUSED(region))
}
static void outliner_main_region_listener(wmWindow *UNUSED(win),
- ScrArea *UNUSED(area),
+ ScrArea *area,
ARegion *region,
wmNotifier *wmn,
const Scene *UNUSED(scene))
{
+ SpaceOutliner *space_outliner = area->spacedata.first;
+
/* context changes */
switch (wmn->category) {
case NC_SCENE:
switch (wmn->data) {
case ND_OB_ACTIVE:
case ND_OB_SELECT:
- ED_region_tag_redraw_no_rebuild(region);
+ if (outliner_requires_rebuild_on_select_or_active_change(space_outliner)) {
+ ED_region_tag_redraw(region);
+ }
+ else {
+ ED_region_tag_redraw_no_rebuild(region);
+ }
break;
case ND_OB_VISIBLE:
case ND_OB_RENDER: