浏览代码

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.
tags/mesa_6_5_3_rc2
Roland Scheidegger 18 年前
父节点
当前提交
32225d06b9

+ 4
- 2
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;
}


+ 4
- 2
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);
}
}



+ 4
- 2
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);
}
}



正在加载...
取消
保存