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-06-09 18:38:11 +0300
committerJulian Eisel <julian@blender.org>2020-06-09 19:12:56 +0300
commit53d1a729cc1f3d162b22954111612c691db9f14c (patch)
treee97a25010395bb9ffe547c5b2ba79d6ff594164b
parentee64b595da5ed5b40b91e181bdbb179131d9ae0d (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.
-rw-r--r--source/blender/editors/interface/interface_handlers.c8
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;