Stefan Dösinger : wined3d: Fix front buffer coords for gdi surfaces.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue May 8 13:17:02 CDT 2007
Module: wine
Branch: master
Commit: 7538f8d620e3da080c847e9a782d579fb59d67eb
URL: http://source.winehq.org/git/wine.git/?a=commit;h=7538f8d620e3da080c847e9a782d579fb59d67eb
Author: Stefan Dösinger <stefan at codeweavers.com>
Date: Sun Apr 29 16:36:03 2007 +0200
wined3d: Fix front buffer coords for gdi surfaces.
---
dlls/wined3d/surface_gdi.c | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/dlls/wined3d/surface_gdi.c b/dlls/wined3d/surface_gdi.c
index 3c412db..7d277d4 100644
--- a/dlls/wined3d/surface_gdi.c
+++ b/dlls/wined3d/surface_gdi.c
@@ -68,6 +68,13 @@ x11_copy_to_screen(IWineD3DSurfaceImpl *This,
TRACE(" copying rect (%d,%d)->(%d,%d), offset (%d,%d)\n",
rc->left, rc->top, rc->right, rc->bottom, offset.x, offset.y);
}
+
+ /* Front buffer coordinates are screen coordinates. Map them to the destination
+ * window if not fullscreened
+ */
+ if(!This->resource.wineD3DDevice->ddraw_fullscreen) {
+ ClientToScreen(hDisplayWnd, &offset);
+ }
#if 0
/* FIXME: this doesn't work... if users really want to run
* X in 8bpp, then we need to call directly into display.drv
@@ -88,7 +95,7 @@ x11_copy_to_screen(IWineD3DSurfaceImpl *This,
if (This->clipper)
{
RECT xrc;
- HWND hwnd = This->clipper->hWnd;
+ HWND hwnd = ((IWineD3DClipperImpl *) This->clipper)->hWnd;
if (hwnd && GetClientRect(hwnd,&xrc))
{
OffsetRect(&xrc,offset.x,offset.y);
More information about the wine-cvs
mailing list