aboutsummaryrefslogtreecommitdiff
path: root/layers/object_tracker.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'layers/object_tracker.cpp')
-rw-r--r--layers/object_tracker.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/layers/object_tracker.cpp b/layers/object_tracker.cpp
index 385042b6..9702c6a7 100644
--- a/layers/object_tracker.cpp
+++ b/layers/object_tracker.cpp
@@ -463,11 +463,12 @@ VKAPI_ATTR void VKAPI_CALL DestroyInstance(VkInstance instance, const VkAllocati
}
layer_debug_report_destroy_instance(instance_data->report_data);
- layer_data_map.erase(key);
+ FreeLayerDataPtr(key, layer_data_map);
instanceExtMap.erase(pInstanceTable);
lock.unlock();
ot_instance_table_map.erase(key);
+ delete pInstanceTable;
}
VKAPI_ATTR void VKAPI_CALL DestroyDevice(VkDevice device, const VkAllocationCallbacks *pAllocator) {
@@ -514,6 +515,9 @@ VKAPI_ATTR void VKAPI_CALL DestroyDevice(VkDevice device, const VkAllocationCall
VkLayerDispatchTable *pDisp = get_dispatch_table(ot_device_table_map, device);
pDisp->DestroyDevice(device, pAllocator);
ot_device_table_map.erase(key);
+ delete pDisp;
+
+ FreeLayerDataPtr(key, layer_data_map);
}
VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures *pFeatures) {