From ae3141d65c0cc1c54a7b526dc5606fd6c2e83765 Mon Sep 17 00:00:00 2001 From: Michal Maciola Date: Thu, 19 Aug 2021 09:37:57 +0200 Subject: [PATCH] svg: fix opacity percentage value parsing Percentage values wasn't handled by _toOpacity() function. Other incorrect values was handled wrongly. Now fixed. --- src/loaders/svg/tvgSvgLoader.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/loaders/svg/tvgSvgLoader.cpp b/src/loaders/svg/tvgSvgLoader.cpp index 052035dc..d517fe7f 100644 --- a/src/loaders/svg/tvgSvgLoader.cpp +++ b/src/loaders/svg/tvgSvgLoader.cpp @@ -163,11 +163,13 @@ static float _toOffset(const char* str) static int _toOpacity(const char* str) { char* end = nullptr; - int a = 0; float opacity = svgUtilStrtof(str, &end); - if (end && (*end == '\0')) a = lrint(opacity * 255); - return a; + if (end) { + if (end[0] == '%' && end[1] == '\0') return lrint(opacity * 2.55f); + else if (*end == '\0') return lrint(opacity * 255); + } + return 255; }