fixed incredibly stupid bug that was wacking out the transform every time we dirtied
[org.ibex.core.git] / src / org / ibex / core / Box.java
index ffec434..09b43ae 100644 (file)
@@ -106,7 +106,7 @@ public final class Box extends JS.Obj implements Callable, Mesh.Chain {
     public void dirty() { if (path==null) dirty(0, 0, contentwidth, contentheight); else dirty(path); }
     public void dirty(int x, int y, int w, int h) { }
     public void dirty(Path p) {
     public void dirty() { if (path==null) dirty(0, 0, contentwidth, contentheight); else dirty(path); }
     public void dirty(int x, int y, int w, int h) { }
     public void dirty(Path p) {
-        Affine a = transform;
+        Affine a = transform.copy();
         for(Box cur = this; cur != null; cur = cur.parent) a.premultiply(cur.transform);
         long hbounds = p.horizontalBounds(a);
         long vbounds = p.verticalBounds(a);
         for(Box cur = this; cur != null; cur = cur.parent) a.premultiply(cur.transform);
         long hbounds = p.horizontalBounds(a);
         long vbounds = p.verticalBounds(a);