[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [53265] trunk/blender/source/blender: Small drawing glitch, for UI with transparent overlapping regions;

Ton Roosendaal ton at blender.org
Sat Dec 22 12:52:55 CET 2012


Revision: 53265
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53265
Author:   ton
Date:     2012-12-22 11:52:53 +0000 (Sat, 22 Dec 2012)
Log Message:
-----------
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)

Modified Paths:
--------------
    trunk/blender/source/blender/editors/screen/screen_edit.c
    trunk/blender/source/blender/windowmanager/intern/wm_draw.c

Modified: trunk/blender/source/blender/editors/screen/screen_edit.c
===================================================================
--- trunk/blender/source/blender/editors/screen/screen_edit.c	2012-12-22 11:08:25 UTC (rev 53264)
+++ trunk/blender/source/blender/editors/screen/screen_edit.c	2012-12-22 11:52:53 UTC (rev 53265)
@@ -1302,6 +1302,7 @@
 			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);

Modified: trunk/blender/source/blender/windowmanager/intern/wm_draw.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_draw.c	2012-12-22 11:08:25 UTC (rev 53264)
+++ trunk/blender/source/blender/windowmanager/intern/wm_draw.c	2012-12-22 11:52:53 UTC (rev 53265)
@@ -606,6 +606,7 @@
 
 		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 @@
 			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);




More information about the Bf-blender-cvs mailing list