diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-05-22 15:41:49 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-05-22 16:09:21 +0300 |
commit | cc9513d944e70dc3d878864d0cde822aa3f37e3a (patch) | |
tree | 0d1bfab8501b9f32e36bc68cbea74e717d469040 /source/blender/editors/screen/area.c | |
parent | d97471ddf74e1e4a122c4678a715f2e6d05a6e6c (diff) |
Fix outliner crashes when dragging elements in some cases.
Avoid rebuilding outliner tree in more cases, also helps performance.
Diffstat (limited to 'source/blender/editors/screen/area.c')
-rw-r--r-- | source/blender/editors/screen/area.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c index b2245886991..1688e45d98c 100644 --- a/source/blender/editors/screen/area.c +++ b/source/blender/editors/screen/area.c @@ -225,7 +225,7 @@ void ED_area_azones_update(ScrArea *sa, const int mouse_xy[2]) if (changed) { sa->flag &= ~AREA_FLAG_ACTIONZONES_UPDATE; - ED_area_tag_redraw(sa); + ED_area_tag_redraw_no_rebuild(sa); } } @@ -607,6 +607,15 @@ void ED_area_tag_redraw(ScrArea *sa) ED_region_tag_redraw(ar); } +void ED_area_tag_redraw_no_rebuild(ScrArea *sa) +{ + ARegion *ar; + + if (sa) + for (ar = sa->regionbase.first; ar; ar = ar->next) + ED_region_tag_redraw_no_rebuild(ar); +} + void ED_area_tag_redraw_regiontype(ScrArea *sa, int regiontype) { ARegion *ar; |