projects
/
synfig.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Applied the following dooglus patches from the sourceforge tracker:
[synfig.git]
/
synfig-core
/
trunk
/
src
/
synfig
/
loadcanvas.cpp
diff --git
a/synfig-core/trunk/src/synfig/loadcanvas.cpp
b/synfig-core/trunk/src/synfig/loadcanvas.cpp
index
b370158
..
6edf4e5
100644
(file)
--- a/
synfig-core/trunk/src/synfig/loadcanvas.cpp
+++ b/
synfig-core/trunk/src/synfig/loadcanvas.cpp
@@
-317,13
+317,7
@@
CanvasParser::parse_vector(xmlpp::Element *element,Canvas::Handle canvas)
error(element, "Undefined value in <x>");
return Vector();
}
error(element, "Undefined value in <x>");
return Vector();
}
- xmlpp::TextNode *text=dynamic_cast<xmlpp::TextNode*>(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")
}
else
if(child->get_name()=="y")
@@
-333,13
+327,7
@@
CanvasParser::parse_vector(xmlpp::Element *element,Canvas::Handle canvas)
error(element, "Undefined value in <y>");
return Vector();
}
error(element, "Undefined value in <y>");
return Vector();
}
- xmlpp::TextNode *text=dynamic_cast<xmlpp::TextNode*>(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());
}
else
error_unexpected_element(child,child->get_name());
@@
-2260,6
+2248,7
@@
CanvasParser::parse_from_file_as(const String &file_,const String &as_)
CHECK_EXPIRE_TIME();
try
{
CHECK_EXPIRE_TIME();
try
{
+ ChangeLocale change_locale(LC_NUMERIC, "C");
String file(unix_to_local_path(file_));
String as(unix_to_local_path(as_));
String file(unix_to_local_path(file_));
String as(unix_to_local_path(as_));
@@
-2321,6
+2310,7
@@
CanvasParser::parse_from_string(const String &data)
try
{
try
{
+ ChangeLocale change_locale(LC_NUMERIC, "C");
filename=_("<INTERNAL>");
total_warnings_=0;
xmlpp::DomParser parser;
filename=_("<INTERNAL>");
total_warnings_=0;
xmlpp::DomParser parser;