Module: wine
Branch: master
Commit: 941fe99eaf66bd2446a9c8434da6dad1765e4335
URL: http://source.winehq.org/git/wine.git/?a=commit;h=941fe99eaf66bd2446a9c8434…
Author: Henri Verbeet <hverbeet(a)codeweavers.com>
Date: Mon Nov 18 10:46:17 2013 +0100
wined3d: Avoid calling wined3d_surface_set_mem() in surface_cleanup().
Calling wined3d_surface_set_mem() might cause the surface container to be
accessed, for example when invalidating resource locations. This would become
a problem once we assume surfaces always have a container, and is pointless
anyway because the surface is being destroyed.
---
dlls/wined3d/surface.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index e30d6b4..a5d9118 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -96,7 +96,8 @@ static void surface_cleanup(struct wined3d_surface *surface)
}
if (surface->flags & SFLAG_USERPTR)
- wined3d_surface_set_mem(surface, NULL, 0);
+ surface->resource.allocatedMemory = NULL;
+
if (surface->overlay_dest)
list_remove(&surface->overlay_entry);