From 5f9ceed14f960b75d3cde57d95d55e85c5de16d2 Mon Sep 17 00:00:00 2001 From: Jeff Smith Date: Tue, 28 Jan 2020 16:17:43 +0330 Subject: [PATCH] d3drm: Return ~0u from d3drm_viewport2_GetProjection() for uninitialised viewports. Signed-off-by: Jeff Smith Signed-off-by: Henri Verbeet Signed-off-by: Alexandre Julliard --- 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; }