[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [22664] branches/blender2.5/blender/source /blender/editors: 2.5 Paint:

Nicholas Bishop nicholasbishop at gmail.com
Thu Aug 20 21:46:53 CEST 2009


Revision: 22664
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=22664
Author:   nicholasbishop
Date:     2009-08-20 21:46:53 +0200 (Thu, 20 Aug 2009)

Log Message:
-----------
2.5 Paint:

* Evil backbuf drawing strikes again. In paint modes, it was causing the tool panel to flash black, bad glScissor.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/editors/include/ED_screen.h
    branches/blender2.5/blender/source/blender/editors/screen/area.c
    branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_draw.c

Modified: branches/blender2.5/blender/source/blender/editors/include/ED_screen.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/ED_screen.h	2009-08-20 18:39:25 UTC (rev 22663)
+++ branches/blender2.5/blender/source/blender/editors/include/ED_screen.h	2009-08-20 19:46:53 UTC (rev 22664)
@@ -58,6 +58,7 @@
 void	ED_region_panels(const struct bContext *C, struct ARegion *ar, int vertical, char *context, int contextnr);
 void	ED_region_header_init(struct ARegion *ar);
 void	ED_region_header(const struct bContext *C, struct ARegion *ar);
+void	region_scissor_winrct(struct ARegion *ar, struct rcti *winrct);
 
 /* spaces */
 void	ED_spacetypes_init(void);

Modified: branches/blender2.5/blender/source/blender/editors/screen/area.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/screen/area.c	2009-08-20 18:39:25 UTC (rev 22663)
+++ branches/blender2.5/blender/source/blender/editors/screen/area.c	2009-08-20 19:46:53 UTC (rev 22664)
@@ -249,7 +249,7 @@
 }
 
 /* get scissor rect, checking overlapping regions */
-static void region_scissor_winrct(ARegion *ar, rcti *winrct)
+void region_scissor_winrct(ARegion *ar, rcti *winrct)
 {
 	*winrct= ar->winrct;
 	

Modified: branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_draw.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_draw.c	2009-08-20 18:39:25 UTC (rev 22663)
+++ branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_draw.c	2009-08-20 19:46:53 UTC (rev 22664)
@@ -1092,6 +1092,7 @@
 {
 	RegionView3D *rv3d= ar->regiondata;
 	struct Base *base = scene->basact;
+	rcti winrct;
 
 /*for 2.43 release, don't use glext and just define the constant.
   this to avoid possibly breaking platforms before release.*/
@@ -1137,6 +1138,9 @@
 	
 	glDisable(GL_DITHER);
 
+	region_scissor_winrct(ar, &winrct);
+	glScissor(winrct.xmin, winrct.ymin, winrct.xmax - winrct.xmin, winrct.ymax - winrct.ymin);
+
 	glClearColor(0.0, 0.0, 0.0, 0.0); 
 	if(v3d->zbuf) {
 		glEnable(GL_DEPTH_TEST);





More information about the Bf-blender-cvs mailing list