diff options
author | Eric Anholt <eric@anholt.net> | 2007-12-18 14:51:42 -0800 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2007-12-18 14:51:42 -0800 |
commit | 9efa1029e5a2ee90e3265d9959730685ce841b66 (patch) | |
tree | e68469effaa5dfcd8f8029eee02d800cfa19c277 /src/mesa/swrast/s_drawpix.c | |
parent | 4878f12189c52e1cafe9240183d0e371a1f287d3 (diff) |
Fix mismatched map/unmap of buffers in swrast read/drawpixels error paths.
Diffstat (limited to 'src/mesa/swrast/s_drawpix.c')
-rw-r--r-- | src/mesa/swrast/s_drawpix.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/mesa/swrast/s_drawpix.c b/src/mesa/swrast/s_drawpix.c index 0cf425e1c6..969787381c 100644 --- a/src/mesa/swrast/s_drawpix.c +++ b/src/mesa/swrast/s_drawpix.c @@ -842,7 +842,8 @@ _swrast_DrawPixels( GLcontext *ctx, format, type, pixels)) { _mesa_error(ctx, GL_INVALID_OPERATION, "glDrawPixels(invalid PBO access)"); - goto end; + RENDER_FINISH(swrast, ctx); + return; } buf = (GLubyte *) ctx->Driver.MapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT, GL_READ_ONLY_ARB, @@ -850,7 +851,8 @@ _swrast_DrawPixels( GLcontext *ctx, if (!buf) { /* buffer is already mapped - that's an error */ _mesa_error(ctx, GL_INVALID_OPERATION, "glDrawPixels(PBO is mapped)"); - goto end; + RENDER_FINISH(swrast, ctx); + return; } pixels = ADD_POINTERS(buf, pixels); } @@ -890,8 +892,6 @@ _swrast_DrawPixels( GLcontext *ctx, /* don't return yet, clean-up */ } -end: - RENDER_FINISH(swrast,ctx); if (unpack->BufferObj->Name) { |