Module: wine Branch: master Commit: a9dca944cb6f54afc1a5e7f9ee283cfab808816e URL: https://source.winehq.org/git/wine.git/?a=commit;h=a9dca944cb6f54afc1a5e7f9e...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Fri May 3 15:44:02 2019 +0430
wined3d: Free shader backend and fragment pipe context data in device_context_remove().
Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/wined3d/context.c | 2 -- dlls/wined3d/device.c | 3 +++ 2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c index b239813..4a73cbb 100644 --- a/dlls/wined3d/context.c +++ b/dlls/wined3d/context.c @@ -2347,8 +2347,6 @@ void wined3d_context_destroy(struct wined3d_context *context) return; }
- device->shader_backend->shader_free_context_data(context); - device->adapter->fragment_pipe->free_context_data(context); device_context_remove(device, context);
wined3d_context_gl_destroy(wined3d_context_gl(context)); diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index e25565d..df491e1 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -168,6 +168,9 @@ void device_context_remove(struct wined3d_device *device, struct wined3d_context
TRACE("Removing context %p.\n", context);
+ device->adapter->fragment_pipe->free_context_data(context); + device->shader_backend->shader_free_context_data(context); + for (i = 0; i < device->context_count; ++i) { if (device->contexts[i] == context)