From: Jean-Philippe Bruyère Date: Wed, 22 Jul 2020 16:28:22 +0000 (+0200) Subject: fix fontconfig and freetype leaks X-Git-Tag: v0.1-alpha~4 X-Git-Url: https://git.osiis.dedyn.io/?a=commitdiff_plain;h=77dd59b56f42d8de7ab7b4dd734977902f430688;p=jp%2Fvkvg.git fix fontconfig and freetype leaks --- diff --git a/src/vkvg_device.c b/src/vkvg_device.c index e680890..74d0edf 100644 --- a/src/vkvg_device.c +++ b/src/vkvg_device.c @@ -177,6 +177,8 @@ void vkvg_device_destroy (VkvgDevice dev) vkFreeCommandBuffers (dev->vkDev, dev->cmdPool, 1, &dev->cmd); vkDestroyCommandPool (dev->vkDev, dev->cmdPool, NULL); + vkh_queue_destroy(dev->gQueue); + _destroy_font_cache(dev); vmaDestroyAllocator (dev->allocator); diff --git a/src/vkvg_fonts.c b/src/vkvg_fonts.c index 4e8ffc0..e198b9b 100644 --- a/src/vkvg_fonts.c +++ b/src/vkvg_fonts.c @@ -161,8 +161,6 @@ void _init_next_line_in_tex_cache (VkvgDevice dev, _vkvg_font_t* f){ void _destroy_font_cache (VkvgDevice dev){ _font_cache_t* cache = (_font_cache_t*)dev->fontCache; - //FcFini(); - free (cache->hostBuff); for (int i = 0; i < cache->fontsCount; ++i) { @@ -189,6 +187,10 @@ void _destroy_font_cache (VkvgDevice dev){ //vkFreeCommandBuffers(dev->vkDev,dev->cmdPool, 1, &cache->cmd); vkDestroyFence (dev->vkDev,cache->uploadFence,NULL); + FT_Done_FreeType(cache->library); + FcConfigDestroy(cache->config); + FcFini(); + free (dev->fontCache); } diff --git a/tests/common/vkengine.c b/tests/common/vkengine.c index 6ef5b1e..287e8b7 100644 --- a/tests/common/vkengine.c +++ b/tests/common/vkengine.c @@ -130,8 +130,8 @@ vk_engine_t* vkengine_create (VkPhysicalDeviceType preferedGPU, VkPresentModeKHR | VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT , VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT | VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT - //| VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT - //| VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT + | VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT + | VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT , NULL); #endif diff --git a/tests/test1.c b/tests/test1.c index 097d51e..5fb17bf 100644 --- a/tests/test1.c +++ b/tests/test1.c @@ -356,7 +356,7 @@ void cairo_tests () { cairo_print_arc_neg(ctx); vkvg_translate(ctx,250,0); - //cairo_test_text(ctx); + cairo_test_text(ctx); vkvg_translate(ctx,-500,250); cairo_test_curves(ctx);