diff --git a/pathscatter.inx b/pathscatter.inx
index 4d54e81c1b2a84ac9b493d1ba64ff9b665f77522..41b66e10a1fe25c43d97786fac4a30b07fca62c9 100644
--- a/pathscatter.inx
+++ b/pathscatter.inx
@@ -9,7 +9,7 @@
false
0.0
0.0
- 0.0
+ 0.0
false
diff --git a/pathscatter.py b/pathscatter.py
index c5cbfd1b4427c523f0409462119c2dc4cf9cb2c4..08e73ee858f124b3fa836e953a3fc3e2b80a1adf 100755
--- a/pathscatter.py
+++ b/pathscatter.py
@@ -83,7 +83,7 @@ class PathScatter(pathmodifier.Diffeo):
bbox = BoundingBox(-bbox.y, -bbox.x)
mat = Transform([[0, -1, 0], [1, 0, 0]]) * mat
mat.add_translate([0, self.options.noffset])
- node.transform *= mat
+ node.transform = mat * node.transform
return bbox
def effect(self):
@@ -141,11 +141,11 @@ class PathScatter(pathmodifier.Diffeo):
length = sum(lengths)
dx = width + self.options.space
if self.options.stretch:
- n = int((length - self.options.toffset + self.options.space) / dx)
+ n = int(length / dx + self.options.space)
if n > 0:
- dx = (length - self.options.toffset) / n
+ dx = (length) / n
- s = self.options.toffset
+ s = 0 if self.options.stretch else self.options.toffset * 0.01 * dx
while s <= length:
local_transform = self.localTransformAt(s, skelcomp, lengths, skel_closed, \
self.options.follow)
diff --git a/tests/data/refs/pathscatter__--id__g12668__--id__path8143__--stretch__False__--follow__False.out b/tests/data/refs/pathscatter__--id__g12668__--id__path8143__--stretch__False__--follow__False.out
index 5693f81516aa0ac3f08820a638906f63825c7892..f8d0f712717a6c20f18e5d03259ddb2d10959cd1 100644
--- a/tests/data/refs/pathscatter__--id__g12668__--id__path8143__--stretch__False__--follow__False.out
+++ b/tests/data/refs/pathscatter__--id__g12668__--id__path8143__--stretch__False__--follow__False.out
@@ -1,6 +1,6 @@
-