diff --git a/uppsrc/Core/parser.cpp b/uppsrc/Core/parser.cpp index ee2d5ce42..47e94f8dd 100644 --- a/uppsrc/Core/parser.cpp +++ b/uppsrc/Core/parser.cpp @@ -280,7 +280,7 @@ double CParser::ReadDouble() throw(Error) { LTIMING("ReadDouble"); int sign = Sgn(); - if(!IsDigit(*term)) + if(!IsDigit(*term) && *term != '.') ThrowError("missing number"); double n = 0; while(IsDigit(*term)) diff --git a/uppsrc/Painter/PainterPath.cpp b/uppsrc/Painter/PainterPath.cpp index 71a9d0cbf..81ea43997 100644 --- a/uppsrc/Painter/PainterPath.cpp +++ b/uppsrc/Painter/PainterPath.cpp @@ -99,8 +99,11 @@ Painter& Painter::Path(CParser& p) Painter& Painter::Path(const char *path) { - CParser p(path); - Path(p); + try { + CParser p(path); + Path(p); + } + catch(CParser::Error) {} return *this; }