[PATCH] Fix crash in wined3d_device_reset with gdi backend for directdraw
Jonas Wielicki
wine-patches at sotecware.net
Wed Aug 29 08:09:59 CDT 2012
From: Jonas Wielicki <j.wielicki at sotecware.net>
see also bug #31550
---
dlls/wined3d/device.c | 15 +++++++++------
1 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 9744265..0826957 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -5161,13 +5161,16 @@ HRESULT CDECL wined3d_device_reset(struct wined3d_device *device,
}
stateblock_unbind_resources(device->stateBlock);
- if (swapchain->back_buffers && swapchain->back_buffers[0])
- wined3d_device_set_render_target(device, 0, swapchain->back_buffers[0], FALSE);
- else
- wined3d_device_set_render_target(device, 0, swapchain->front_buffer, FALSE);
- for (i = 1; i < device->adapter->gl_info.limits.buffers; ++i)
+ if (device->fb.render_targets)
{
- wined3d_device_set_render_target(device, i, NULL, FALSE);
+ if (swapchain->back_buffers && swapchain->back_buffers[0])
+ wined3d_device_set_render_target(device, 0, swapchain->back_buffers[0], FALSE);
+ else
+ wined3d_device_set_render_target(device, 0, swapchain->front_buffer, FALSE);
+ for (i = 1; i < device->adapter->gl_info.limits.buffers; ++i)
+ {
+ wined3d_device_set_render_target(device, i, NULL, FALSE);
+ }
}
wined3d_device_set_depth_stencil(device, NULL);
--
1.7.7.6
More information about the wine-patches
mailing list