Henri Verbeet : wined3d: Add missing ActivateContext calls to shader_destroy() implementations.

Alexandre Julliard julliard at winehq.org
Fri May 29 09:15:50 CDT 2009


Module: wine
Branch: master
Commit: d37472f27b8c91f8d92f3286e5a53ca4c473df83
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=d37472f27b8c91f8d92f3286e5a53ca4c473df83

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Fri May 29 09:13:20 2009 +0200

wined3d: Add missing ActivateContext calls to shader_destroy() implementations.

---

 dlls/wined3d/arb_program_shader.c |    5 ++++-
 dlls/wined3d/glsl_shader.c        |    2 ++
 2 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
index 922f62b..5d37440 100644
--- a/dlls/wined3d/arb_program_shader.c
+++ b/dlls/wined3d/arb_program_shader.c
@@ -2503,7 +2503,10 @@ static void shader_arb_deselect_depth_blt(IWineD3DDevice *iface) {
 
 static void shader_arb_destroy(IWineD3DBaseShader *iface) {
     IWineD3DBaseShaderImpl *baseShader = (IWineD3DBaseShaderImpl *) iface;
-    const WineD3D_GL_Info *gl_info = &((IWineD3DDeviceImpl *)baseShader->baseShader.device)->adapter->gl_info;
+    IWineD3DDeviceImpl *device = (IWineD3DDeviceImpl *)baseShader->baseShader.device;
+    const WineD3D_GL_Info *gl_info = &device->adapter->gl_info;
+
+    ActivateContext(device, device->lastActiveRenderTarget, CTXUSAGE_RESOURCELOAD);
 
     if (shader_is_pshader_version(baseShader->baseShader.reg_maps.shader_version.type))
     {
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 08bcaa6..c4b5cca 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -4295,6 +4295,8 @@ static void shader_glsl_destroy(IWineD3DBaseShader *iface) {
      */
     char pshader = shader_is_pshader_version(This->baseShader.reg_maps.shader_version.type);
 
+    ActivateContext(device, device->lastActiveRenderTarget, CTXUSAGE_RESOURCELOAD);
+
     if(pshader) {
         struct glsl_pshader_private *shader_data;
         ps = (IWineD3DPixelShaderImpl *) This;




More information about the wine-cvs mailing list