svg_loader: handle the exception properly.

viewBox doesn't expect the missing attributes,
it won't have any default values.

So we can decide the fault when the values are missed.
This commit is contained in:
Hermet Park 2022-02-21 11:28:02 +09:00
parent c214532ad2
commit bdda2586e9

View file

@ -1143,13 +1143,8 @@ static bool _attrParseSymbolNode(void* data, const char* key, const char* value)
SvgSymbolNode* symbol = &(node->node.symbol); SvgSymbolNode* symbol = &(node->node.symbol);
if (!strcmp(key, "viewBox")) { if (!strcmp(key, "viewBox")) {
if (_parseNumber(&value, &symbol->vx)) { if (!_parseNumber(&value, &symbol->vx) || !_parseNumber(&value, &symbol->vy)) return false;
if (_parseNumber(&value, &symbol->vy)) { if (!_parseNumber(&value, &symbol->vw) || !_parseNumber(&value, &symbol->vh)) return false;
if (_parseNumber(&value, &symbol->vw)) {
_parseNumber(&value, &symbol->vh);
}
}
}
} else if (!strcmp(key, "width")) { } else if (!strcmp(key, "width")) {
symbol->w = _toFloat(loader->svgParse, value, SvgParserLengthType::Horizontal); symbol->w = _toFloat(loader->svgParse, value, SvgParserLengthType::Horizontal);
} else if (!strcmp(key, "height")) { } else if (!strcmp(key, "height")) {