[PATCH 2/6] wined3d: Only clear "map_ptr" if the memory was unmapped in wined3d_allocator_chunk_vk_unmap().

Henri Verbeet hverbeet at codeweavers.com
Mon Dec 14 08:27:20 CST 2020


Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
---
 dlls/wined3d/context_vk.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/dlls/wined3d/context_vk.c b/dlls/wined3d/context_vk.c
index 66f5109dc87..1b937dd3b21 100644
--- a/dlls/wined3d/context_vk.c
+++ b/dlls/wined3d/context_vk.c
@@ -277,8 +277,10 @@ void wined3d_allocator_chunk_vk_unmap(struct wined3d_allocator_chunk_vk *chunk_v
 
     TRACE("chunk_vk %p, context_vk %p.\n", chunk_vk, context_vk);
 
-    if (!--chunk_vk->c.map_count)
-        VK_CALL(vkUnmapMemory(device_vk->vk_device, chunk_vk->vk_memory));
+    if (--chunk_vk->c.map_count)
+        return;
+
+    VK_CALL(vkUnmapMemory(device_vk->vk_device, chunk_vk->vk_memory));
     chunk_vk->c.map_ptr = NULL;
 }
 
-- 
2.20.1




More information about the wine-devel mailing list