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:
authorJacques Lucke <jacques@blender.org>2021-03-01 18:59:04 +0300
committerJacques Lucke <jacques@blender.org>2021-03-01 18:59:04 +0300
commitbe36c4d37d7e3b600c5daf10e4e12101cc16de15 (patch)
tree3adf195072ed5cec14c6667769aa4d20797d7292 /source/blender/editors
parentc5bf114d78eae84dce18fae4701c5d4ab8aa92da (diff)
initial listeners for main region
Diffstat (limited to 'source/blender/editors')
-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 bdb0b81dc97..ee5a689f885 100644
--- a/source/blender/editors/space_spreadsheet/space_spreadsheet.cc
+++ b/source/blender/editors/space_spreadsheet/space_spreadsheet.cc
@@ -149,8 +149,34 @@ static void spreadsheet_main_region_draw(const bContext *C, ARegion *region)
static void spreadsheet_main_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;
+ }
+ }
}
static void spreadsheet_header_region_init(wmWindowManager *UNUSED(wm), ARegion *region)