[PATCH 4/6] d3drm: Return ~0u from d3drm_viewport2_GetProjection() for uninitialised viewports.
Henri Verbeet
hverbeet at codeweavers.com
Tue Jan 28 06:47:43 CST 2020
From: Jeff Smith <whydoubt at gmail.com>
Signed-off-by: Jeff Smith <whydoubt at gmail.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
---
dlls/d3drm/tests/d3drm.c | 4 ++--
dlls/d3drm/viewport.c | 3 +++
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/dlls/d3drm/tests/d3drm.c b/dlls/d3drm/tests/d3drm.c
index 62194977d47..6821bca50fe 100644
--- a/dlls/d3drm/tests/d3drm.c
+++ b/dlls/d3drm/tests/d3drm.c
@@ -2152,7 +2152,7 @@ static void test_Viewport(void)
back = IDirect3DRMViewport_GetBack(viewport);
ok(back == -1.0f, "Got unexpected back %.8e\n", back);
projection = IDirect3DRMViewport_GetProjection(viewport);
- todo_wine ok(projection == ~0u, "Got unexpected projection type %#x.\n", projection);
+ ok(projection == ~0u, "Got unexpected projection type %#x.\n", projection);
hr = IDirect3DRMViewport_SetCamera(viewport, frame);
ok(hr == D3DRMERR_BADOBJECT, "Got unexpected hr %#x.\n", hr);
@@ -2345,7 +2345,7 @@ static void test_Viewport(void)
back = IDirect3DRMViewport2_GetBack(viewport2);
ok(back == -1.0f, "Got unexpected back %.8e\n", back);
projection = IDirect3DRMViewport2_GetProjection(viewport2);
- todo_wine ok(projection == ~0u, "Got unexpected projection type %#x.\n", projection);
+ ok(projection == ~0u, "Got unexpected projection type %#x.\n", projection);
hr = IDirect3DRMViewport2_SetCamera(viewport2, frame3);
ok(hr == D3DRMERR_BADOBJECT, "Got unexpected hr %#x.\n", hr);
diff --git a/dlls/d3drm/viewport.c b/dlls/d3drm/viewport.c
index 17b6f1df539..8d9c4fde822 100644
--- a/dlls/d3drm/viewport.c
+++ b/dlls/d3drm/viewport.c
@@ -978,6 +978,9 @@ static D3DRMPROJECTIONTYPE WINAPI d3drm_viewport2_GetProjection(IDirect3DRMViewp
TRACE("iface %p.\n", iface);
+ if (!viewport->d3d_viewport)
+ return ~0u;
+
return viewport->projection;
}
--
2.11.0
More information about the wine-devel
mailing list