From 725219e31980a377444a9088a7dbadf438300acf Mon Sep 17 00:00:00 2001 From: JunsuChoi Date: Fri, 11 Sep 2020 11:49:09 +0900 Subject: [PATCH] vg_load_svg: Add Mask, ClipPath nodees as dummy. Summary: Mask and clippath TAG are not supported yet. If this TAG is used, the Child TAG declared with this TAG may cause problems. To prevent that, declare them as Unknown types until they are supported. (display=none) Test Plan: N/A Reviewers: Hermet, smohanty Reviewed By: Hermet Subscribers: cedric, herb, #reviewers, kimcinoo, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12139 --- .../evas/vg_loaders/svg/evas_vg_load_svg.c | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/src/modules/evas/vg_loaders/svg/evas_vg_load_svg.c b/src/modules/evas/vg_loaders/svg/evas_vg_load_svg.c index ea19f2d122..f40bfa4915 100644 --- a/src/modules/evas/vg_loaders/svg/evas_vg_load_svg.c +++ b/src/modules/evas/vg_loaders/svg/evas_vg_load_svg.c @@ -1091,6 +1091,24 @@ _create_switch_node(Evas_SVG_Loader *loader EINA_UNUSED, Svg_Node *parent EINA_U return NULL; } +static Svg_Node * +_create_mask_node(Evas_SVG_Loader *loader EINA_UNUSED, Svg_Node *parent EINA_UNUSED, const char *buf EINA_UNUSED, unsigned buflen EINA_UNUSED) +{ + Svg_Node *node = _create_node(NULL, SVG_NODE_UNKNOWN); + + node->display = EINA_FALSE; + return node; +} + +static Svg_Node * +_create_clipPath_node(Evas_SVG_Loader *loader EINA_UNUSED, Svg_Node *parent EINA_UNUSED, const char *buf EINA_UNUSED, unsigned buflen EINA_UNUSED) +{ + Svg_Node *node = _create_node(NULL, SVG_NODE_UNKNOWN); + + node->display = EINA_FALSE; + return node; +} + static Eina_Bool _attr_parse_path_node(void *data, const char *key, const char *value) { @@ -1714,7 +1732,9 @@ static const struct { TAG_DEF(defs), TAG_DEF(g), TAG_DEF(svg), - TAG_DEF(switch) + TAG_DEF(switch), + TAG_DEF(mask), + TAG_DEF(clipPath) }; #define FIND_FACTORY(Short_Name, Tags_Array) \ @@ -2239,7 +2259,9 @@ static const struct { } pop_array[] = { POP_TAG(g), POP_TAG(svg), - POP_TAG(defs) + POP_TAG(defs), + POP_TAG(mask), + POP_TAG(clipPath) }; static void