From 6518f2e4429c37ae3c516cf8acaf0ccab492892f Mon Sep 17 00:00:00 2001 From: Mira Grudzinska Date: Sat, 15 Jun 2024 14:36:38 +0200 Subject: [PATCH] common: force the use of ttf loader for font data Providing an incorrect mimetype or not specifying one was not handled and resulted in data not being loaded when loading the font from memory. Now, the use of the TTF loader is enforced regardless of the provided mimetype. --- src/renderer/tvgLoader.cpp | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/src/renderer/tvgLoader.cpp b/src/renderer/tvgLoader.cpp index 80e2bedb..af741994 100644 --- a/src/renderer/tvgLoader.cpp +++ b/src/renderer/tvgLoader.cpp @@ -436,23 +436,22 @@ LoadModule* LoaderMgr::loader(const uint32_t *data, uint32_t w, uint32_t h, bool //loads fonts from memory - loader is cached (regardless of copy value) in order to access it while setting font -LoadModule* LoaderMgr::loader(const char* name, const char* data, uint32_t size, const string& mimeType, bool copy) +LoadModule* LoaderMgr::loader(const char* name, const char* data, uint32_t size, TVG_UNUSED const string& mimeType, bool copy) { //TODO: add check for mimetype ? if (auto loader = _findFromCache(name)) return loader; - if (auto loader = _findByType(mimeType)) { - if (loader->open(data, size, "", copy)) { - loader->hashpath = strdup(name); - loader->pathcache = true; - ScopedLock lock(key); - _activeLoaders.back(loader); - return loader; - } else { - TVGLOG("LOADER", "The font data \"%s\" could not be loaded.", name); - delete(loader); - } + //function is dedicated for ttf loader (the only supported font loader) + auto loader = new TtfLoader; + if (loader->open(data, size, "", copy)) { + loader->hashpath = strdup(name); + loader->pathcache = true; + ScopedLock lock(key); + _activeLoaders.back(loader); + return loader; } + TVGLOG("LOADER", "The font data \"%s\" could not be loaded.", name); + delete(loader); return nullptr; } \ No newline at end of file