From 45a1083ee7bb6c3545bba5ca3e15699a279ea2dd Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 23 Mar 2006 01:00:49 +0000 Subject: [PATCH] use intel_region_reference() in MakeCurrent to make sure we don't accidentally lose the screen->front/back/depth regions --- src/mesa/drivers/dri/i915/intel_context.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/mesa/drivers/dri/i915/intel_context.c b/src/mesa/drivers/dri/i915/intel_context.c index 7fda4811fb4..e08365c5c8a 100644 --- a/src/mesa/drivers/dri/i915/intel_context.c +++ b/src/mesa/drivers/dri/i915/intel_context.c @@ -526,14 +526,18 @@ GLboolean intelMakeCurrent(__DRIcontextPrivate *driContextPriv, struct intel_renderbuffer *irbStencil = intel_get_renderbuffer(drawFb, BUFFER_STENCIL); - if (irbFront && !irbFront->region) - irbFront->region = intel->front_region; - if (irbBack && !irbBack->region) - irbBack->region = intel->back_region; - if (irbDepth && !irbDepth->region) - irbDepth->region = intel->depth_region; - if (irbStencil && !irbStencil->region) - irbStencil->region = intel->depth_region; /* YES */ + if (irbFront && !irbFront->region) { + intel_region_reference(&irbFront->region, intel->front_region); + } + if (irbBack && !irbBack->region) { + intel_region_reference(&irbBack->region, intel->back_region); + } + if (irbDepth && !irbDepth->region) { + intel_region_reference(&irbDepth->region, intel->depth_region); + } + if (irbStencil && !irbStencil->region) { + intel_region_reference(&irbStencil->region, intel->depth_region); + } } _mesa_make_current(&intel->ctx, drawFb, readFb);