diff options
author | Brian Paul <[email protected]> | 2005-06-21 14:39:43 +0000 |
---|---|---|
committer | Brian Paul <[email protected]> | 2005-06-21 14:39:43 +0000 |
commit | 04f863e85669fdf42f3ec401c55b1533e8069dee (patch) | |
tree | 10da6bc8e060a3adb6569eb4d387fe53da13e577 | |
parent | 23606a5704e41274c36f45c6cd6f40335ec66818 (diff) |
check for NULL swrast->Driver.SetBuffer before calling it
-rw-r--r-- | src/mesa/swrast/s_buffers.c | 8 | ||||
-rw-r--r-- | src/mesa/swrast/s_span.c | 3 |
2 files changed, 7 insertions, 4 deletions
diff --git a/src/mesa/swrast/s_buffers.c b/src/mesa/swrast/s_buffers.c index 7f95ed5ec56..e7889008972 100644 --- a/src/mesa/swrast/s_buffers.c +++ b/src/mesa/swrast/s_buffers.c @@ -236,8 +236,9 @@ clear_color_buffers(GLcontext *ctx) struct gl_renderbuffer *rb = ctx->DrawBuffer->_ColorDrawBuffers[0][i]; #if OLD_RENDERBUFFER || NEW_RENDERBUFFER /* SetBuffer will go away */ - swrast->Driver.SetBuffer(ctx, ctx->DrawBuffer, - ctx->DrawBuffer->_ColorDrawBit[0][i]); + if (swrast->Driver.SetBuffer) + swrast->Driver.SetBuffer(ctx, ctx->DrawBuffer, + ctx->DrawBuffer->_ColorDrawBit[0][i]); #endif if (ctx->Visual.rgbMode) { @@ -357,7 +358,8 @@ _swrast_use_read_buffer( GLcontext *ctx ) /* Do this so the software-emulated alpha plane span functions work! */ swrast->CurrentBufferBit = ctx->ReadBuffer->_ColorReadBufferMask; /* Tell the device driver where to read/write spans */ - swrast->Driver.SetBuffer(ctx, ctx->ReadBuffer, swrast->CurrentBufferBit); + if (swrast->Driver.SetBuffer) + swrast->Driver.SetBuffer(ctx, ctx->ReadBuffer, swrast->CurrentBufferBit); } diff --git a/src/mesa/swrast/s_span.c b/src/mesa/swrast/s_span.c index 86ae136562b..3a6e7195b1b 100644 --- a/src/mesa/swrast/s_span.c +++ b/src/mesa/swrast/s_span.c @@ -1053,7 +1053,8 @@ multi_write_rgba_span( GLcontext *ctx, struct sw_span *span ) GLuint bufferBit = fb->_ColorDrawBit[output][i]; /* Set the current read/draw buffer */ swrast->CurrentBufferBit = bufferBit; - (*swrast->Driver.SetBuffer)(ctx, ctx->DrawBuffer, bufferBit); + if (swrast->Driver.SetBuffer) + (*swrast->Driver.SetBuffer)(ctx, ctx->DrawBuffer, bufferBit); #endif /* make copy of incoming colors */ |