From: Brian Paul Date: Tue, 21 Jun 2005 14:39:43 +0000 (+0000) Subject: check for NULL swrast->Driver.SetBuffer before calling it X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=04f863e85669fdf42f3ec401c55b1533e8069dee;p=mesa.git check for NULL swrast->Driver.SetBuffer before calling it --- 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 */