Henri Verbeet : wined3d: Free shader backend and fragment pipe context data in device_context_remove ().

Alexandre Julliard julliard at winehq.org
Fri May 3 15:46:17 CDT 2019


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

Author: Henri Verbeet <hverbeet at 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 at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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)




More information about the wine-cvs mailing list