From 321305ff0b77390e6471ffdf0bc4ddeae9ef6809 Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Wed, 2 Apr 2025 14:35:48 +0900 Subject: [PATCH] loaders: ++static loader thread safty make it sync before deleting the loaders. --- src/loaders/external_webp/tvgWebpLoader.cpp | 2 +- src/loaders/jpg/tvgJpgLoader.cpp | 1 + src/loaders/png/tvgPngLoader.cpp | 1 + src/loaders/svg/tvgSvgLoader.cpp | 2 +- src/loaders/webp/tvgWebpLoader.cpp | 1 + 5 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/loaders/external_webp/tvgWebpLoader.cpp b/src/loaders/external_webp/tvgWebpLoader.cpp index bb57d515..5182b27b 100644 --- a/src/loaders/external_webp/tvgWebpLoader.cpp +++ b/src/loaders/external_webp/tvgWebpLoader.cpp @@ -55,7 +55,7 @@ WebpLoader::WebpLoader() : ImageLoader(FileType::Webp) WebpLoader::~WebpLoader() { - this->done(); + done(); if (freeData) tvg::free(data); data = nullptr; diff --git a/src/loaders/jpg/tvgJpgLoader.cpp b/src/loaders/jpg/tvgJpgLoader.cpp index f1c2c4d0..e91ed976 100644 --- a/src/loaders/jpg/tvgJpgLoader.cpp +++ b/src/loaders/jpg/tvgJpgLoader.cpp @@ -62,6 +62,7 @@ JpgLoader::JpgLoader() : ImageLoader(FileType::Jpg) JpgLoader::~JpgLoader() { + done(); clear(); tvg::free(surface.buf8); } diff --git a/src/loaders/png/tvgPngLoader.cpp b/src/loaders/png/tvgPngLoader.cpp index 45b04b93..d81d6bb5 100644 --- a/src/loaders/png/tvgPngLoader.cpp +++ b/src/loaders/png/tvgPngLoader.cpp @@ -61,6 +61,7 @@ PngLoader::PngLoader() : ImageLoader(FileType::Png) PngLoader::~PngLoader() { + done(); if (freeData) tvg::free(data); tvg::free(surface.buf8); lodepng_state_cleanup(&state); diff --git a/src/loaders/svg/tvgSvgLoader.cpp b/src/loaders/svg/tvgSvgLoader.cpp index b73c95de..3400d002 100644 --- a/src/loaders/svg/tvgSvgLoader.cpp +++ b/src/loaders/svg/tvgSvgLoader.cpp @@ -3870,7 +3870,7 @@ SvgLoader::SvgLoader() : ImageLoader(FileType::Svg) SvgLoader::~SvgLoader() { - this->done(); + done(); clear(); } diff --git a/src/loaders/webp/tvgWebpLoader.cpp b/src/loaders/webp/tvgWebpLoader.cpp index 59eba5b4..ecae26ef 100644 --- a/src/loaders/webp/tvgWebpLoader.cpp +++ b/src/loaders/webp/tvgWebpLoader.cpp @@ -64,6 +64,7 @@ WebpLoader::WebpLoader() : ImageLoader(FileType::Webp) WebpLoader::~WebpLoader() { + done(); clear(); tvg::free(surface.buf8); }