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
path: root/source
diff options
context:
space:
mode:
authorJacques Lucke <jacques@blender.org>2021-03-01 20:18:14 +0300
committerJacques Lucke <jacques@blender.org>2021-03-01 20:18:14 +0300
commit7ab29c748a0b9fc2933c83c93301bb9331f5e6c3 (patch)
treefe9823b914d25e948963651c78062c3606a07e18 /source
parentbe36c4d37d7e3b600c5daf10e4e12101cc16de15 (diff)
header listeners
Diffstat (limited to 'source')
-rw-r--r--source/blender/editors/space_spreadsheet/space_spreadsheet.cc30
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)