From ba69d050221933759d376a9e66a9a71c83e192ac Mon Sep 17 00:00:00 2001 From: Jason Edmeades Date: Tue, 30 Sep 2003 00:20:08 +0000 Subject: [PATCH] Make unlock of the backbuffer correctly restore the contents. --- dlls/d3d8/surface.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/dlls/d3d8/surface.c b/dlls/d3d8/surface.c index 527f60940b6..14589287cf9 100644 --- a/dlls/d3d8/surface.c +++ b/dlls/d3d8/surface.c @@ -321,6 +321,8 @@ HRESULT WINAPI IDirect3DSurface8Impl_UnlockRect(LPDIRECT3DSURFACE8 iface) { vcheckGLcall("glIntegerv"); glGetIntegerv(GL_CURRENT_RASTER_POSITION, &prev_rasterpos[0]); vcheckGLcall("glIntegerv"); + glPixelZoom(1.0, -1.0); + vcheckGLcall("glPixelZoom"); if (This == This->Device->backBuffer) { glDrawBuffer(GL_BACK); @@ -361,6 +363,8 @@ HRESULT WINAPI IDirect3DSurface8Impl_UnlockRect(LPDIRECT3DSURFACE8 iface) { FIXME("Unsupported Format %u in locking func\n", This->myDesc.Format); } + glPixelZoom(1.0,1.0); + vcheckGLcall("glPixelZoom"); glDrawBuffer(prev_draw); vcheckGLcall("glDrawBuffer"); glRasterPos3iv(&prev_rasterpos[0]);