Jonas Wielicki : wined3d: Fix crash in wined3d_device_reset with gdi backend for directdraw.
Module: wine Branch: master Commit: a64b7918c8171ce208e82ecc2fa909ebc3626037 URL: http://source.winehq.org/git/wine.git/?a=commit;h=a64b7918c8171ce208e82ecc2f... Author: Jonas Wielicki <wine-patches(a)sotecware.net> Date: Wed Aug 29 15:09:59 2012 +0200 wined3d: Fix crash in wined3d_device_reset with gdi backend for directdraw. --- 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);
participants (1)
-
Alexandre Julliard