wined3d: Add missing ActivateContext calls to shader_destroy() implementations.
Henri Verbeet
hverbeet at codeweavers.com
Fri May 29 02:13:20 CDT 2009
---
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;
--
1.6.0.6
--------------030709010808040601010709--
More information about the wine-patches
mailing list