diff options
author | Jacques Lucke <jacques@blender.org> | 2021-03-01 20:18:14 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2021-03-01 20:18:14 +0300 |
commit | 7ab29c748a0b9fc2933c83c93301bb9331f5e6c3 (patch) | |
tree | fe9823b914d25e948963651c78062c3606a07e18 /source | |
parent | be36c4d37d7e3b600c5daf10e4e12101cc16de15 (diff) |
header listeners
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/space_spreadsheet/space_spreadsheet.cc | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/source/blender/editors/space_spreadsheet/space_spreadsheet.cc b/source/blender/editors/space_spreadsheet/space_spreadsheet.cc index ee5a689f885..d1870543361 100644 --- a/source/blender/editors/space_spreadsheet/space_spreadsheet.cc +++ b/source/blender/editors/space_spreadsheet/space_spreadsheet.cc @@ -195,8 +195,34 @@ static void spreadsheet_header_region_free(ARegion *UNUSED(region)) static void spreadsheet_header_region_listener(const wmRegionListenerParams *params) { - /* TODO: Do more precise check. */ - ED_region_tag_redraw(params->region); + ARegion *region = params->region; + wmNotifier *wmn = params->notifier; + + switch (wmn->category) { + case NC_SCENE: { + switch (wmn->data) { + case ND_OB_ACTIVE: { + ED_region_tag_redraw(region); + break; + } + } + break; + } + case NC_OBJECT: { + ED_region_tag_redraw(region); + break; + } + case NC_SPACE: { + if (wmn->data == ND_SPACE_SPREADSHEET) { + ED_region_tag_redraw(region); + } + break; + } + case NC_GEOM: { + ED_region_tag_redraw(region); + break; + } + } } void ED_spacetype_spreadsheet(void) |