forked from bartvdbraak/blender
2.5 Paint:
* Evil backbuf drawing strikes again. In paint modes, it was causing the tool panel to flash black, bad glScissor.
This commit is contained in:
parent
c1100361e2
commit
86e38ef6f7
@ -58,6 +58,7 @@ void ED_region_panels_init(struct wmWindowManager *wm, struct ARegion *ar);
|
|||||||
void ED_region_panels(const struct bContext *C, struct ARegion *ar, int vertical, char *context, int contextnr);
|
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_init(struct ARegion *ar);
|
||||||
void ED_region_header(const struct bContext *C, 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 */
|
/* spaces */
|
||||||
void ED_spacetypes_init(void);
|
void ED_spacetypes_init(void);
|
||||||
|
@ -249,7 +249,7 @@ void ED_area_overdraw(bContext *C)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* get scissor rect, checking overlapping regions */
|
/* 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;
|
*winrct= ar->winrct;
|
||||||
|
|
||||||
|
@ -1092,6 +1092,7 @@ void backdrawview3d(Scene *scene, ARegion *ar, View3D *v3d)
|
|||||||
{
|
{
|
||||||
RegionView3D *rv3d= ar->regiondata;
|
RegionView3D *rv3d= ar->regiondata;
|
||||||
struct Base *base = scene->basact;
|
struct Base *base = scene->basact;
|
||||||
|
rcti winrct;
|
||||||
|
|
||||||
/*for 2.43 release, don't use glext and just define the constant.
|
/*for 2.43 release, don't use glext and just define the constant.
|
||||||
this to avoid possibly breaking platforms before release.*/
|
this to avoid possibly breaking platforms before release.*/
|
||||||
@ -1137,6 +1138,9 @@ void backdrawview3d(Scene *scene, ARegion *ar, View3D *v3d)
|
|||||||
|
|
||||||
glDisable(GL_DITHER);
|
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);
|
glClearColor(0.0, 0.0, 0.0, 0.0);
|
||||||
if(v3d->zbuf) {
|
if(v3d->zbuf) {
|
||||||
glEnable(GL_DEPTH_TEST);
|
glEnable(GL_DEPTH_TEST);
|
||||||
|
Loading…
Reference in New Issue
Block a user