Henri Verbeet : wined3d: Avoid calling wined3d_surface_set_mem() in surface_cleanup().

Alexandre Julliard julliard at winehq.org
Mon Nov 18 14:51:39 CST 2013


Module: wine
Branch: master
Commit: 941fe99eaf66bd2446a9c8434da6dad1765e4335
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=941fe99eaf66bd2446a9c8434da6dad1765e4335

Author: Henri Verbeet <hverbeet at 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);
 




More information about the wine-cvs mailing list