diff options
author | Julian Eisel <julian@blender.org> | 2020-06-09 18:38:11 +0300 |
---|---|---|
committer | Julian Eisel <julian@blender.org> | 2020-06-09 19:12:56 +0300 |
commit | 53d1a729cc1f3d162b22954111612c691db9f14c (patch) | |
tree | e97a25010395bb9ffe547c5b2ba79d6ff594164b /source/blender/editors/interface | |
parent | ee64b595da5ed5b40b91e181bdbb179131d9ae0d (diff) |
UI: Avoid rebuilding Outliner tree on simple button interactions
E.g. simply on button hover changes, the tree would be needlessly rebuilt.
I wouldn't be surprised if this causes side-effects, for some state changes we
may still have to do a full rebuild.
Diffstat (limited to 'source/blender/editors/interface')
-rw-r--r-- | source/blender/editors/interface/interface_handlers.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c index 4b0376a9c39..b37b2f2cd4b 100644 --- a/source/blender/editors/interface/interface_handlers.c +++ b/source/blender/editors/interface/interface_handlers.c @@ -7963,7 +7963,7 @@ static void button_activate_state(bContext *C, uiBut *but, uiHandleButtonState s } /* redraw */ - ED_region_tag_redraw(data->region); + ED_region_tag_redraw_no_rebuild(data->region); } static void button_activate_init(bContext *C, @@ -8174,7 +8174,7 @@ static void button_activate_exit( } /* redraw and refresh (for popups) */ - ED_region_tag_redraw(data->region); + ED_region_tag_redraw_no_rebuild(data->region); ED_region_tag_refresh_ui(data->region); /* clean up button */ @@ -8767,14 +8767,14 @@ static int ui_handle_button_event(bContext *C, const wmEvent *event, uiBut *but) if (!(but->flag & UI_SELECT)) { but->flag |= (UI_SELECT | UI_ACTIVE); data->cancel = false; - ED_region_tag_redraw(data->region); + ED_region_tag_redraw_no_rebuild(data->region); } } else { if (but->flag & UI_SELECT) { but->flag &= ~(UI_SELECT | UI_ACTIVE); data->cancel = true; - ED_region_tag_redraw(data->region); + ED_region_tag_redraw_no_rebuild(data->region); } } break; |