diff options
author | Roland Scheidegger <[email protected]> | 2007-03-27 16:22:00 +0200 |
---|---|---|
committer | Roland Scheidegger <[email protected]> | 2007-03-27 16:22:00 +0200 |
commit | 32225d06b9ade78df612b3fd8c3aff93afa3b7ff (patch) | |
tree | e2259bb1b489ec8ba6cc3d3fc958947bf92fe6d2 | |
parent | a83593922218b3fc88d3e553f8db079b188bd068 (diff) |
r128, radeon, r200: Check ctx->WinSysDrawBuffer before calling function that dereferences it.
Same fix as for r300 (which fixed https://bugs.freedesktop.org/show_bug.cgi?id=10417),
since it's likely an issue with those drivers too.
-rw-r--r-- | src/mesa/drivers/dri/r128/r128_lock.c | 6 | ||||
-rw-r--r-- | src/mesa/drivers/dri/r200/r200_lock.c | 6 | ||||
-rw-r--r-- | src/mesa/drivers/dri/radeon/radeon_lock.c | 6 |
3 files changed, 12 insertions, 6 deletions
diff --git a/src/mesa/drivers/dri/r128/r128_lock.c b/src/mesa/drivers/dri/r128/r128_lock.c index 393dd1ed74c..ea23b007f33 100644 --- a/src/mesa/drivers/dri/r128/r128_lock.c +++ b/src/mesa/drivers/dri/r128/r128_lock.c @@ -52,8 +52,10 @@ static void r128UpdatePageFlipping( r128ContextPtr rmesa ) { rmesa->doPageFlip = rmesa->sarea->pfAllowPageFlip; - driFlipRenderbuffers(rmesa->glCtx->WinSysDrawBuffer, - rmesa->sarea->pfCurrentPage); + if (rmesa->glCtx->WinSysDrawBuffer) { + driFlipRenderbuffers(rmesa->glCtx->WinSysDrawBuffer, + rmesa->sarea->pfCurrentPage); + } rmesa->new_state |= R128_NEW_WINDOW; } diff --git a/src/mesa/drivers/dri/r200/r200_lock.c b/src/mesa/drivers/dri/r200/r200_lock.c index 9ffdb2b2127..b050dd7802b 100644 --- a/src/mesa/drivers/dri/r200/r200_lock.c +++ b/src/mesa/drivers/dri/r200/r200_lock.c @@ -53,8 +53,10 @@ static void r200UpdatePageFlipping( r200ContextPtr rmesa ) { rmesa->doPageFlip = rmesa->sarea->pfState; - driFlipRenderbuffers(rmesa->glCtx->WinSysDrawBuffer, - rmesa->sarea->pfCurrentPage); + if (rmesa->glCtx->WinSysDrawBuffer) { + driFlipRenderbuffers(rmesa->glCtx->WinSysDrawBuffer, + rmesa->sarea->pfCurrentPage); + } } diff --git a/src/mesa/drivers/dri/radeon/radeon_lock.c b/src/mesa/drivers/dri/radeon/radeon_lock.c index cdf8a19fb13..312041e0351 100644 --- a/src/mesa/drivers/dri/radeon/radeon_lock.c +++ b/src/mesa/drivers/dri/radeon/radeon_lock.c @@ -56,8 +56,10 @@ static void radeonUpdatePageFlipping( radeonContextPtr rmesa ) { rmesa->doPageFlip = rmesa->sarea->pfState; - driFlipRenderbuffers(rmesa->glCtx->WinSysDrawBuffer, - rmesa->sarea->pfCurrentPage); + if (rmesa->glCtx->WinSysDrawBuffer) { + driFlipRenderbuffers(rmesa->glCtx->WinSysDrawBuffer, + rmesa->sarea->pfCurrentPage); + } } |