diff options
-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); |