summaryrefslogtreecommitdiff
path: root/embroider.py
diff options
context:
space:
mode:
authorLex Neva <github@lexneva.name>2016-10-26 13:13:27 -0400
committerLex Neva <github@lexneva.name>2016-10-26 13:13:27 -0400
commita7ef5820251e75cfeb217c8f2b163680982365f5 (patch)
treec8da378d73fa06af50d08df72546221c6a135267 /embroider.py
parentf81a70766f367cc056a78d4b50a3f2b157443de1 (diff)
be sure to visit selected nodes in the right order
Diffstat (limited to 'embroider.py')
-rw-r--r--embroider.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/embroider.py b/embroider.py
index c5b9ccb4..2c18abd7 100644
--- a/embroider.py
+++ b/embroider.py
@@ -698,8 +698,11 @@ class Embroider(inkex.Effect):
dbg.write("starting nodes: %s" % time.time())
dbg.flush()
if self.selected:
- for node in self.selected.itervalues():
- self.handle_node(node)
+ # be sure to visit selected nodes in the order they're stacked in
+ # the document
+ for node in self.document.getroot().iter():
+ if node.get("id") in self.selected:
+ self.handle_node(node)
else:
self.handle_node(self.document.getroot())
dbg.write("finished nodes: %s" % time.time())