sk1 crashes when opening .svg file created with Inkscape.
The error is:
ubuntu@baltix:~$ sk1
shared memory images supported
Cairo initialized!
Traceback (most recent call last):
File "/usr/lib/python2.5/site-packages/sk1/app/plugins/Filters/svgloader.py", line 979, in Load
xml_reader.parse(input_source)
File "/usr/lib/python2.5/xml/sax/expatreader.py", line 107, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/usr/lib/python2.5/xml/sax/xmlreader.py", line 123, in parse
self.feed(buffer)
File "/usr/lib/python2.5/xml/sax/expatreader.py", line 207, in feed
self._parser.Parse(data, isFinal)
File "/usr/lib/python2.5/xml/sax/expatreader.py", line 301, in start_element
self._cont_handler.startElement(name, AttributesImpl(attrs))
File "/usr/lib/python2.5/site-packages/sk1/app/plugins/Filters/svgloader.py", line 338, in startElement
getattr(self, method)(attrs)
File "/usr/lib/python2.5/site-packages/sk1/app/plugins/Filters/svgloader.py", line 834, in begin_path
self.parse_path(attrs['d'])
File "/usr/lib/python2.5/site-packages/sk1/app/plugins/Filters/svgloader.py", line 677, in parse_path
path.AppendLine(trafo(points[0], points[1]))
IndexError: list index out of range
Traceback (most recent call last):
File "/usr/lib/python2.5/site-packages/sk1/app/UI/command.py", line 49, in Invoke
apply(self.get_method(self.command), self.args + args)
File "/usr/lib/python2.5/site-packages/sk1/app/UI/mainwindow.py", line 686, in LoadFromFile
self.docmanager.OpenDocument(filename, directory)
File "/usr/lib/python2.5/site-packages/sk1/app/managers/docmanager.py", line 68, in OpenDocument
doc=dlg.RunDialog(self.open_callback, filename)
File "/usr/lib/python2.5/site-packages/sk1/app/UI/dialogs/progressdialog.py", line 50, in RunDialog
result=callback(arg)
File "/usr/lib/python2.5/site-packages/sk1/app/managers/docmanager.py", line 89, in open_callback
doc = load.load_drawing(filename)
File "/usr/lib/python2.5/site-packages/sk1/app/io/load.py", line 373, in load_drawing
return load_drawing_from_file(file, filename)
File "/usr/lib/python2.5/site-packages/sk1/app/io/load.py", line 346, in load_drawing_from_file
doc = loader.Load()
File "/usr/lib/python2.5/site-packages/sk1/app/plugins/Filters/svgloader.py", line 979, in Load
xml_reader.parse(input_source)
File "/usr/lib/python2.5/xml/sax/expatreader.py", line 107, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/usr/lib/python2.5/xml/sax/xmlreader.py", line 123, in parse
self.feed(buffer)
File "/usr/lib/python2.5/xml/sax/expatreader.py", line 207, in feed
self._parser.Parse(data, isFinal)
File "/usr/lib/python2.5/xml/sax/expatreader.py", line 301, in start_element
self._cont_handler.startElement(name, AttributesImpl(attrs))
File "/usr/lib/python2.5/site-packages/sk1/app/plugins/Filters/svgloader.py", line 338, in startElement
getattr(self, method)(attrs)
File "/usr/lib/python2.5/site-packages/sk1/app/plugins/Filters/svgloader.py", line 834, in begin_path
self.parse_path(attrs['d'])
File "/usr/lib/python2.5/site-packages/sk1/app/plugins/Filters/svgloader.py", line 677, in parse_path
path.AppendLine(trafo(points[0], points[1]))
IndexError: list index out of range
In code
# use tokenize_line to parse the arguments so that operator. isNumberType,
skread. tokenize_ line(points) )
# we deal with signed numbers following another
# number without intervening whitespace other
# characters properls.
# FIXME: tokenize_line works but is not the best way
# to do it because it accepts input that wouldn't be
# valid here.
points = filter(
The number 1.2639812e+08 filtered as 1.2159500000000001