[PATCH 10/10] ddraw: Mark only PRIMARYSURFACE as VISIBLE. (try 3)
Oldřich Jedlička
oldium.pro at seznam.cz
Tue Aug 3 14:26:23 CDT 2010
---
dlls/ddraw/ddraw.c | 5 ++++-
dlls/ddraw/tests/d3d.c | 2 +-
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c
index bfc9c6d..f24eb4c 100644
--- a/dlls/ddraw/ddraw.c
+++ b/dlls/ddraw/ddraw.c
@@ -2495,7 +2495,10 @@ static HRESULT ddraw_create_surface(IDirectDrawImpl *This, DDSURFACEDESC2 *pDDSD
{
Usage |= WINED3DUSAGE_RENDERTARGET;
- pDDSD->ddsCaps.dwCaps |= DDSCAPS_VISIBLE;
+ if (pDDSD->ddsCaps.dwCaps & (DDSCAPS_PRIMARYSURFACE))
+ {
+ pDDSD->ddsCaps.dwCaps |= DDSCAPS_VISIBLE;
+ }
}
if (pDDSD->ddsCaps.dwCaps & (DDSCAPS_OVERLAY))
{
diff --git a/dlls/ddraw/tests/d3d.c b/dlls/ddraw/tests/d3d.c
index 55e5885..5390c65 100644
--- a/dlls/ddraw/tests/d3d.c
+++ b/dlls/ddraw/tests/d3d.c
@@ -3583,7 +3583,7 @@ static void BackBuffer3DCreateSurfaceTest(void)
{
hr = IDirectDrawSurface_GetSurfaceDesc(surf, &created_ddsd);
ok(SUCCEEDED(hr), "IDirectDraw_GetSurfaceDesc failed: 0x%08x\n", hr);
- todo_wine ok(created_ddsd.ddsCaps.dwCaps == expected_caps,
+ ok(created_ddsd.ddsCaps.dwCaps == expected_caps,
"GetSurfaceDesc returned caps %x, expected %x\n", created_ddsd.ddsCaps.dwCaps,
expected_caps);
IDirectDrawSurface_Release(surf);
--
1.7.2
More information about the wine-patches
mailing list