From: xuelian.bai Date: Wed, 13 Sep 2017 10:01:14 +0000 (+0800) Subject: Handle the case when the input swapchain is NULL X-Git-Tag: accepted/tizen/unified/20171228.065020~6 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=49ec75d25736cc5dc1879adbb9855cf4e753a3eb;p=platform%2Fcore%2Fuifw%2Fvulkan-wsi-tizen.git Handle the case when the input swapchain is NULL Change-Id: If213af9a7bddeffa9a0608b2d709a91580bfdef3 Signed-off-by: Xuelian Bai Reviewed-by: Hoyub Lee --- diff --git a/src/wsi/swapchain.c b/src/wsi/swapchain.c index 0f839dc..195c16a 100644 --- a/src/wsi/swapchain.c +++ b/src/wsi/swapchain.c @@ -203,19 +203,21 @@ vk_DestroySwapchainKHR(VkDevice device, vk_icd_t *icd = vk_get_icd(); PFN_vkGetDeviceProcAddr icd_gdpa = (PFN_vkGetDeviceProcAddr)icd->get_proc_addr(NULL, "vkGetDeviceProcAddr"); - if (icd_gdpa != VK_NULL_HANDLE) { - PFN_vkDestroyImage destroy_image = (PFN_vkDestroyImage)icd_gdpa(device, "vkDestroyImage"); - if (destroy_image != VK_NULL_HANDLE) { - uint32_t i; - - for (i = 0; i < chain->buffer_count; i++) - destroy_image(device, chain->buffers[i].image, &chain->allocator); + if (chain != VK_NULL_HANDLE) { + if (icd_gdpa != VK_NULL_HANDLE) { + PFN_vkDestroyImage destroy_image = (PFN_vkDestroyImage)icd_gdpa(device, "vkDestroyImage"); + if (destroy_image != VK_NULL_HANDLE) { + uint32_t i; + + for (i = 0; i < chain->buffer_count; i++) + destroy_image(device, chain->buffers[i].image, &chain->allocator); + } } - } - chain->deinit(device, chain); - vk_free(&chain->allocator, chain->buffers); - vk_free(&chain->allocator, chain); + chain->deinit(device, chain); + vk_free(&chain->allocator, chain->buffers); + vk_free(&chain->allocator, chain); + } } VKAPI_ATTR VkResult VKAPI_CALL