diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2010-06-23 13:58:32 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2010-06-23 13:58:32 +0400 |
commit | 16b15961a8d7f0a8f831f726eba10785322171ed (patch) | |
tree | e1fe525683e6bae7230285d4a5b341ce8a32428d /source/blender/windowmanager | |
parent | d200243a5ca9d9cf17fb5ad1b4df711698b82b1d (diff) |
Fix #21470: changing brush settings redraws the 3d view unecessarily,
added ED_region_tag_redraw_overlay to only redo overlay drawing, which
in case of triple buffer is much faster.
Diffstat (limited to 'source/blender/windowmanager')
-rw-r--r-- | source/blender/windowmanager/intern/wm_draw.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/source/blender/windowmanager/intern/wm_draw.c b/source/blender/windowmanager/intern/wm_draw.c index 0331613d392..d2afef3b117 100644 --- a/source/blender/windowmanager/intern/wm_draw.c +++ b/source/blender/windowmanager/intern/wm_draw.c @@ -642,6 +642,13 @@ static int wm_draw_update_test_window(wmWindow *win) { ScrArea *sa; ARegion *ar; + + for(ar= win->screen->regionbase.first; ar; ar= ar->next) { + if(ar->do_draw_overlay) { + wm_tag_redraw_overlay(win, ar); + ar->do_draw_overlay= 0; + } + } if(win->screen->do_refresh) return 1; @@ -687,8 +694,11 @@ static int wm_automatic_draw_method(wmWindow *win) void wm_tag_redraw_overlay(wmWindow *win, ARegion *ar) { /* for draw triple gestures, paint cursors don't need region redraw */ - if(ar && win && wm_automatic_draw_method(win) != USER_DRAW_TRIPLE) - ED_region_tag_redraw(ar); + if(ar && win) { + if(wm_automatic_draw_method(win) != USER_DRAW_TRIPLE) + ED_region_tag_redraw(ar); + win->screen->do_draw_paintcursor= 1; + } } void wm_draw_update(bContext *C) |