[PATCH 5/6] wined3d: Free shader backend and fragment pipe context data in device_context_remove().
Henri Verbeet
hverbeet at codeweavers.com
Fri May 3 05:56:02 CDT 2019
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
---
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 b239813d226..4a73cbbda13 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 e25565da7f5..df491e1641e 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)
--
2.11.0
More information about the wine-devel
mailing list