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:
authorTon Roosendaal <ton@blender.org>2012-12-22 15:52:53 +0400
committerTon Roosendaal <ton@blender.org>2012-12-22 15:52:53 +0400
commit6a57420b52317ee484da2cdb0a0f88ff4a231cbc (patch)
tree8f2a206d42a710f646ad46c1a664f2bacf989d06
parent39a6af35f5d309c54477edcf8eaad02633ea4c71 (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)
-rw-r--r--source/blender/editors/screen/screen_edit.c1
-rw-r--r--source/blender/windowmanager/intern/wm_draw.c2
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);