From: Connor McAdams <cmcadams(a)codeweavers.com> Signed-off-by: Connor McAdams <cmcadams(a)codeweavers.com> --- dlls/d3d9/device.c | 6 ++++++ dlls/d3d9/tests/device.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/dlls/d3d9/device.c b/dlls/d3d9/device.c index e5b5463dbba..3af87dcba39 100644 --- a/dlls/d3d9/device.c +++ b/dlls/d3d9/device.c @@ -1078,6 +1078,12 @@ static HRESULT d3d9_device_reset(struct d3d9_device *device, wined3d_mutex_lock(); + if (device->in_scene) + { + wined3d_device_end_scene(device->wined3d_device); + device->in_scene = FALSE; + } + wined3d_streaming_buffer_cleanup(&device->vertex_buffer); wined3d_streaming_buffer_cleanup(&device->index_buffer); diff --git a/dlls/d3d9/tests/device.c b/dlls/d3d9/tests/device.c index 0cd290367b5..62f308e0734 100644 --- a/dlls/d3d9/tests/device.c +++ b/dlls/d3d9/tests/device.c @@ -2724,7 +2724,7 @@ static void test_scene(void) reset_device(device, NULL); hr = IDirect3DDevice9_EndScene(device); - todo_wine ok(hr == D3DERR_INVALIDCALL, "Got hr %#lx.\n", hr); + ok(hr == D3DERR_INVALIDCALL, "Got hr %#lx.\n", hr); hr = IDirect3DDevice9_BeginScene(device); ok(hr == S_OK, "Got hr %#lx.\n", hr); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/6042