diff options
author | Ton Roosendaal <ton@blender.org> | 2012-12-22 15:52:53 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2012-12-22 15:52:53 +0400 |
commit | 6a57420b52317ee484da2cdb0a0f88ff4a231cbc (patch) | |
tree | 8f2a206d42a710f646ad46c1a664f2bacf989d06 /source | |
parent | 39a6af35f5d309c54477edcf8eaad02633ea4c71 (diff) |
Small drawing glitch, for UI with transparent overlapping regions;
- The corner 'duplicate/merge area' widget was drawing too often.
(Added comment in subwindow 'active' code, too many redraws are being
sent on moving mouse over region eddges)
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/screen/screen_edit.c | 1 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_draw.c | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c index 557bdb8995b..cca713ec14a 100644 --- a/source/blender/editors/screen/screen_edit.c +++ b/source/blender/editors/screen/screen_edit.c @@ -1302,6 +1302,7 @@ void ED_screen_set_subwinactive(bContext *C, wmEvent *event) screen_cursor_set(win, event); } else { + /* notifier invokes freeing the buttons... causing a bit too much redraws */ if (oldswin != scr->subwinactive) { region_cursor_set(win, scr->subwinactive, TRUE); WM_event_add_notifier(C, NC_SCREEN | ND_SUBWINACTIVE, scr); diff --git a/source/blender/windowmanager/intern/wm_draw.c b/source/blender/windowmanager/intern/wm_draw.c index dbd722c80dd..91be03986c1 100644 --- a/source/blender/windowmanager/intern/wm_draw.c +++ b/source/blender/windowmanager/intern/wm_draw.c @@ -606,6 +606,7 @@ static void wm_method_draw_triple(bContext *C, wmWindow *win) for (ar = sa->regionbase.first; ar; ar = ar->next) { if (ar->swinid && ar->do_draw) { + if (ar->overlap == 0) { CTX_wm_region_set(C, ar); ED_region_do_draw(C, ar); @@ -635,7 +636,6 @@ static void wm_method_draw_triple(bContext *C, wmWindow *win) if (ar->swinid && ar->overlap) { CTX_wm_region_set(C, ar); ED_region_do_draw(C, ar); - ED_area_overdraw_flush(sa, ar); CTX_wm_region_set(C, NULL); wm_draw_region_blend(win, ar); |