SvgLoader: Fix missing doc.gradients update
authorJunsuChoi <jsuya.choi@samsung.com>
Thu, 10 Sep 2020 11:13:31 +0000 (20:13 +0900)
committerHermet Park <chuneon.park@samsung.com>
Fri, 11 Sep 2020 02:13:55 +0000 (11:13 +0900)
When both <defs> and <svg> gradients are declared,
the update of gradient declared in <svg> is omitted.
Therefore, this patch fixes any missing gradient updates.

Change-Id: I21f5c31dbc679f8308e19c17bf942b23c4b2bebe

src/loaders/svg/tvgSvgLoader.cpp

index 4ade095..86537cd 100644 (file)
@@ -2355,11 +2355,8 @@ void SvgLoader::run()
         _updateStyle(loaderData.doc, nullptr);
         auto defs = loaderData.doc->node.doc.defs;
         if (defs) _updateGradient(loaderData.doc, &defs->node.defs.gradients);
-        else {
-            if (loaderData.gradients.cnt > 0) {
-                _updateGradient(loaderData.doc, &loaderData.gradients);
-            }
-        }
+
+        if (loaderData.gradients.cnt > 0) _updateGradient(loaderData.doc, &loaderData.gradients);
     }
     root = builder.build(loaderData.doc);
 };