Revision: 2140
http://synfig.svn.sourceforge.net/synfig/?rev=2140&view=rev
Author: dooglus
Date: 2008-10-26 20:44:20 +0000 (Sun, 26 Oct 2008)
Log Message:
-----------
Rather than reporting "Couldn't create parsing context" when a file isn't
readable or doesn't exist, report "Can't open file <filename>".
Modified Paths:
--------------
synfig-core/trunk/src/synfig/loadcanvas.cpp
Modified: synfig-core/trunk/src/synfig/loadcanvas.cpp
===================================================================
--- synfig-core/trunk/src/synfig/loadcanvas.cpp 2008-10-26 20:44:10 UTC (rev
2139)
+++ synfig-core/trunk/src/synfig/loadcanvas.cpp 2008-10-26 20:44:20 UTC (rev
2140)
@@ -174,7 +174,7 @@
{
string str=strprintf("%s:<%s>:%d: error:
",filename.c_str(),element->get_name().c_str(),element->get_line())+text;
total_errors_++;
- errors_text += " " + str + "\n";
+ errors_text += " * " + str + "\n";
if(!allow_errors_)
throw runtime_error(str);
cerr<<str<<endl;
@@ -2082,12 +2082,12 @@
Canvas::Handle
CanvasParser::parse_from_file_as(const String &file_,const String &as_,String
&errors)
{
+ ChangeLocale change_locale(LC_NUMERIC, "C");
+ String file(unix_to_local_path(file_));
+ String as(unix_to_local_path(as_));
+
try
{
- ChangeLocale change_locale(LC_NUMERIC, "C");
- String file(unix_to_local_path(file_));
- String as(unix_to_local_path(as_));
-
if(get_open_canvas_map().count(etl::absolute_path(as)))
return get_open_canvas_map()[etl::absolute_path(as)];
@@ -2123,6 +2123,13 @@
catch(Exception::FileNotFound) { synfig::error("FileNotFound Thrown"); }
catch(Exception::IDNotFound) { synfig::error("IDNotFound Thrown"); }
catch(Exception::IDAlreadyExists) { synfig::error("IDAlreadyExists
Thrown"); }
+ catch(xmlpp::internal_error x)
+ {
+ printf("caught internal error\n");
+ if (!strcmp(x.what(), "Couldn't create parsing context"))
+ throw runtime_error(String(" * ") + _("Can't open
file") + " \"" + file + "\"");
+ throw;
+ }
catch(const std::exception& ex)
{
synfig::error("Standard Exception: "+String(ex.what()));
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Synfig-devl mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/synfig-devl