X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fsynfig%2Floadcanvas.cpp;h=6edf4e58c7fb408e17082836e7ffbf3d50cd753f;hb=75635270584b5775982adbd70250a0ebc7e3e76b;hp=1c87a0459dcb2053363449d659924aba13744a6d;hpb=d9e1d2e988f648460b80449d24d9e5fa98c3aef9;p=synfig.git diff --git a/synfig-core/trunk/src/synfig/loadcanvas.cpp b/synfig-core/trunk/src/synfig/loadcanvas.cpp index 1c87a04..6edf4e5 100644 --- a/synfig-core/trunk/src/synfig/loadcanvas.cpp +++ b/synfig-core/trunk/src/synfig/loadcanvas.cpp @@ -5,16 +5,17 @@ ** $Id: loadcanvas.cpp,v 1.3 2005/01/04 23:40:44 darco Exp $ ** ** \legal -** Copyright (c) 2002 Robert B. Quattlebaum Jr. +** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley ** -** This software and associated documentation -** are CONFIDENTIAL and PROPRIETARY property of -** the above-mentioned copyright holder. +** This package is free software; you can redistribute it and/or +** modify it under the terms of the GNU General Public License as +** published by the Free Software Foundation; either version 2 of +** the License, or (at your option) any later version. ** -** You may not copy, print, publish, or in any -** other way distribute this software without -** a prior written agreement with -** the copyright holder. +** This package is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** General Public License for more details. ** \endlegal */ /* ========================================================================= */ @@ -316,13 +317,7 @@ CanvasParser::parse_vector(xmlpp::Element *element,Canvas::Handle canvas) error(element, "Undefined value in "); return Vector(); } - xmlpp::TextNode *text=dynamic_cast(child->get_children().front()); - if(!text) - { - error(element,"I need a number, not an element!"); - return Vector(); - } - vect[0]=atof(text->get_content().c_str()); + vect[0]=atof(child->get_child_text()->get_content().c_str()); } else if(child->get_name()=="y") @@ -332,13 +327,7 @@ CanvasParser::parse_vector(xmlpp::Element *element,Canvas::Handle canvas) error(element, "Undefined value in "); return Vector(); } - xmlpp::TextNode *text=dynamic_cast(child->get_children().front()); - if(!text) - { - error(element,"I need a number, not an element!"); - return Vector(); - } - vect[1]=atof(text->get_content().c_str()); + vect[1]=atof(child->get_child_text()->get_content().c_str()); } else error_unexpected_element(child,child->get_name()); @@ -2259,6 +2248,7 @@ CanvasParser::parse_from_file_as(const String &file_,const String &as_) CHECK_EXPIRE_TIME(); try { + ChangeLocale change_locale(LC_NUMERIC, "C"); String file(unix_to_local_path(file_)); String as(unix_to_local_path(as_)); @@ -2320,6 +2310,7 @@ CanvasParser::parse_from_string(const String &data) try { + ChangeLocale change_locale(LC_NUMERIC, "C"); filename=_(""); total_warnings_=0; xmlpp::DomParser parser;