Commit b2f33ffb authored by Ulrich Czekalla's avatar Ulrich Czekalla Committed by Alexandre Julliard

winex11.drv: Don't crash when called with a NULL gl context.

parent 7329144c
......@@ -1795,6 +1795,8 @@ static void WINAPI X11DRV_wglDisable(GLenum cap)
if (cap == GL_SCISSOR_TEST)
{
Wine_GLContext *ctx = (Wine_GLContext *) NtCurrentTeb()->glContext;
if (ctx)
ctx->scissor_enabled = FALSE;
}
else
......@@ -1810,6 +1812,8 @@ static void WINAPI X11DRV_wglEnable(GLenum cap)
if (cap == GL_SCISSOR_TEST)
{
Wine_GLContext *ctx = (Wine_GLContext *) NtCurrentTeb()->glContext;
if (ctx)
ctx->scissor_enabled = TRUE;
}
else
......@@ -1861,11 +1865,13 @@ static void WINAPI X11DRV_wglGetIntegerv(GLenum pname, GLint* params)
static GLboolean WINAPI X11DRV_wglIsEnabled(GLenum cap)
{
GLboolean enabled;
GLboolean enabled = False;
if (cap == GL_SCISSOR_TEST)
{
Wine_GLContext *ctx = (Wine_GLContext *) NtCurrentTeb()->glContext;
if (ctx)
enabled = ctx->scissor_enabled;
}
else
......@@ -1881,24 +1887,30 @@ static void WINAPI X11DRV_wglScissor(GLint x, GLint y, GLsizei width, GLsizei he
{
Wine_GLContext *ctx = (Wine_GLContext *) NtCurrentTeb()->glContext;
if (ctx)
{
ctx->scissor.left = x;
ctx->scissor.top = y;
ctx->scissor.right = x + width;
ctx->scissor.bottom = y + height;
sync_current_drawable(TRUE);
}
}
static void WINAPI X11DRV_wglViewport(GLint x, GLint y, GLsizei width, GLsizei height)
{
Wine_GLContext *ctx = (Wine_GLContext *) NtCurrentTeb()->glContext;
if (ctx)
{
ctx->viewport.left = x;
ctx->viewport.top = y;
ctx->viewport.right = x + width;
ctx->viewport.bottom = y + height;
sync_current_drawable(TRUE);
}
}
/**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment