X-Git-Url: http://git.megacz.com/?p=org.ibex.core.git;a=blobdiff_plain;f=src%2Forg%2Fibex%2FBox.java;h=f8b4bf5639a06904e19cf2b9b8c0dc474f30d45c;hp=f51723f5d3c99c26338852ddadc6c2260215bf44;hb=9c46568249885085b710f76f00a56a12f5ee61c9;hpb=b1a58aeb4adfade0697650583ec5801fa6e88d5e diff --git a/src/org/ibex/Box.java b/src/org/ibex/Box.java index f51723f..f8b4bf5 100644 --- a/src/org/ibex/Box.java +++ b/src/org/ibex/Box.java @@ -178,8 +178,9 @@ public final class Box extends JSScope implements Scheduler.Task { if (texture != null) { if (texture.isLoaded) { minwidth = min(texture.width, maxwidth); minheight = min(texture.height, maxheight); } else { JS res = texture.stream; texture = null; throw new JSExn("image not found: "+res); } + } else { + Log.warn(Box.class, "perform() called with null texture"); } - MARK_REPACK; MARK_REFLOW; MARK_RESIZE; @@ -378,10 +379,9 @@ public final class Box extends JSScope implements Scheduler.Task { int globaly = parenty + (parent == null ? 0 : y); // intersect the x,y,w,h rendering window with ourselves; quit if it's empty - if (test(CLIP)) { - cx1 = max(cx1, parent == null ? 0 : globalx); - cy1 = max(cy1, parent == null ? 0 : globaly); + cx1 = max(cx1, globalx); + cy1 = max(cy1, globaly); cx2 = min(cx2, globalx + width); cy2 = min(cy2, globaly + height); if (cx2 <= cx1 || cy2 <= cy1) return; @@ -697,6 +697,7 @@ public final class Box extends JSScope implements Scheduler.Task { fillcolor = newfillcolor; } else if(value instanceof JS) { texture = Picture.load((JS)value, this); + if (texture != null) perform(); } else { throw new JSExn("fill must be null, a String, or a stream, not a " + value.getClass()); }