From 77bd4e482216ce949794072a92e83b0d65d31959 Mon Sep 17 00:00:00 2001 From: bulia byak Date: Mon, 29 May 2006 01:37:07 +0000 Subject: fix effects failing when document has no namedview or no current-layer attr (bzr r1052) --- share/extensions/inkex.py | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/share/extensions/inkex.py b/share/extensions/inkex.py index 41fdcd959..64efdabda 100755 --- a/share/extensions/inkex.py +++ b/share/extensions/inkex.py @@ -90,16 +90,21 @@ class Effect: #defaults self.current_layer = self.document.documentElement self.view_center = (0.0,0.0) - - layername = xml.xpath.Evaluate('//sodipodi:namedview/@inkscape:current-layer',self.document,context=ctx)[0].value - layer = xml.xpath.Evaluate('//g[@id="%s"]' % layername,self.document,context=ctx)[0] - if layer: - self.current_layer = layer - - x = xml.xpath.Evaluate('//sodipodi:namedview/@inkscape:cx',self.document,context=ctx)[0].value - y = xml.xpath.Evaluate('//sodipodi:namedview/@inkscape:cy',self.document,context=ctx)[0].value - if x and y: - self.view_center = (float(x),float(y)) + + layerattr = xml.xpath.Evaluate('//sodipodi:namedview/@inkscape:current-layer',self.document,context=ctx) + if layerattr: + layername = layerattr[0].value + layer = xml.xpath.Evaluate('//g[@id="%s"]' % layername,self.document,context=ctx)[0] + if layer: + self.current_layer = layer + + xattr = xml.xpath.Evaluate('//sodipodi:namedview/@inkscape:cx',self.document,context=ctx) + yattr = xml.xpath.Evaluate('//sodipodi:namedview/@inkscape:cy',self.document,context=ctx) + if xattr and yattr: + x = xattr[0].value + y = yattr[0].value + if x and y: + self.view_center = (float(x),float(y)) def getselected(self): """Collect selected nodes""" for id in self.options.ids: -- cgit v1.2.3