Module: wine Branch: master Commit: 11d6ed0c0b1d391bae58fb063a2062f4a30e0315 URL: http://source.winehq.org/git/wine.git/?a=commit;h=11d6ed0c0b1d391bae58fb063a...
Author: Stefan Dösinger stefan@codeweavers.com Date: Tue Jan 8 21:00:22 2008 +0100
wined3d: Destroy opengl shaders on reset.
---
dlls/wined3d/device.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index e0e3bf2..84cbe89 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -6781,6 +6781,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_Reset(IWineD3DDevice* iface, WINED3DPRE HRESULT hr; BOOL DisplayModeChanged = FALSE; WINED3DDISPLAYMODE mode; + IWineD3DBaseShaderImpl *shader; TRACE("(%p)\n", This);
hr = IWineD3DDevice_GetSwapChain(iface, 0, (IWineD3DSwapChain **) &swapchain); @@ -6835,6 +6836,9 @@ static HRESULT WINAPI IWineD3DDeviceImpl_Reset(IWineD3DDevice* iface, WINED3DPRE }
IWineD3DDevice_EnumResources(iface, reset_unload_resources, NULL); + LIST_FOR_EACH_ENTRY(shader, &This->shaders, IWineD3DBaseShaderImpl, baseShader.shader_list_entry) { + This->shader_backend->shader_destroy((IWineD3DBaseShader *) shader); + }
if(pPresentationParameters->Windowed) { mode.Width = swapchain->orig_width;