Jeff Smith : d3drm: Return ~0u from d3drm_viewport2_GetProjection() for uninitialised viewports.

Alexandre Julliard julliard at winehq.org
Tue Jan 28 15:35:25 CST 2020


Module: wine
Branch: master
Commit: 5f9ceed14f960b75d3cde57d95d55e85c5de16d2
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=5f9ceed14f960b75d3cde57d95d55e85c5de16d2

Author: Jeff Smith <whydoubt at gmail.com>
Date:   Tue Jan 28 16:35:43 2020 +0330

d3drm: Return ~0u from d3drm_viewport2_GetProjection() for uninitialised viewports.

Signed-off-by: Jeff Smith <whydoubt at gmail.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 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 62194977d4..6821bca50f 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 17b6f1df53..8d9c4fde82 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;
 }
 




More information about the wine-cvs mailing list