[PATCH v2 4/4] ddraw: Handle stateblocks in d3d_device7_SetClipPlane().

Zebediah Figura z.figura12 at gmail.com
Wed Oct 30 09:42:07 CDT 2019


Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
v2: check hr, thanks Henri.

This supersedes patch 172344.

 dlls/ddraw/device.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c
index 599e45c24f..525dd98d78 100644
--- a/dlls/ddraw/device.c
+++ b/dlls/ddraw/device.c
@@ -6528,7 +6528,9 @@ static HRESULT d3d_device7_SetClipPlane(IDirect3DDevice7 *iface, DWORD idx, D3DV
     wined3d_plane = (struct wined3d_vec4 *)plane;
 
     wined3d_mutex_lock();
-    hr = wined3d_device_set_clip_plane(device->wined3d_device, idx, wined3d_plane);
+    hr = wined3d_stateblock_set_clip_plane(device->update_state, idx, wined3d_plane);
+    if (SUCCEEDED(hr) && !device->recording)
+        hr = wined3d_device_set_clip_plane(device->wined3d_device, idx, wined3d_plane);
     if (idx < ARRAY_SIZE(device->user_clip_planes))
     {
         device->user_clip_planes[idx] = *wined3d_plane;
-- 
2.23.0




More information about the wine-devel mailing list