Stefan Dösinger : wined3d: Don' t record dirty areas in a readonly lock.

Alexandre Julliard julliard at winehq.org
Tue Feb 9 10:37:54 CST 2010


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

Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Mon Feb  8 12:22:24 2010 +0100

wined3d: Don't record dirty areas in a readonly lock.

---

 dlls/wined3d/buffer.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
index f3d3492..3c7a2b9 100644
--- a/dlls/wined3d/buffer.c
+++ b/dlls/wined3d/buffer.c
@@ -1086,7 +1086,10 @@ static HRESULT STDMETHODCALLTYPE buffer_Map(IWineD3DBuffer *iface, UINT offset,
     TRACE("iface %p, offset %u, size %u, data %p, flags %#x\n", iface, offset, size, data, flags);
 
     flags = buffer_sanitize_flags(flags);
-    if (!buffer_add_dirty_area(This, offset, size)) return E_OUTOFMEMORY;
+    if (!(flags & WINED3DLOCK_READONLY))
+    {
+        if (!buffer_add_dirty_area(This, offset, size)) return E_OUTOFMEMORY;
+    }
 
     count = InterlockedIncrement(&This->lock_count);
 




More information about the wine-cvs mailing list