diff --git a/src/vulkan/screenshot-layer/screenshot.cpp b/src/vulkan/screenshot-layer/screenshot.cpp index f257b83f4db..8e9972c26d3 100644 --- a/src/vulkan/screenshot-layer/screenshot.cpp +++ b/src/vulkan/screenshot-layer/screenshot.cpp @@ -333,21 +333,20 @@ static void destroy_queue(struct queue_data *data) ralloc_free(data); } -static void device_destroy_queues(struct device_data *data) +static void destroy_device_data(struct device_data *data) { + loader_platform_thread_lock_mutex(&globalLock); + struct queue_data *tmp_queue = VK_NULL_HANDLE; for (auto it = data->queue_data_head; it != VK_NULL_HANDLE;) { tmp_queue = it->next; destroy_queue(it); it = tmp_queue; } -} -static void destroy_device_data(struct device_data *data) -{ - loader_platform_thread_lock_mutex(&globalLock); unmap_object(HKEY(data->device)); ralloc_free(data); + loader_platform_thread_unlock_mutex(&globalLock); }