fixed bug 534
[org.ibex.core.git] / src / org / ibex / Box.java
index 4e6f374..7f636ba 100644 (file)
@@ -54,7 +54,7 @@ public final class Box extends JSScope implements Scheduler.Task {
     //#define CHECKSET_INT(prop) int nu = toInt(value); if (nu == prop) break; prop = nu;
     //#define CHECKSET_FLAG(flag) boolean nu = toBoolean(value); if (nu == test(flag)) break; if (nu) set(flag); else clear(flag);
     //#define CHECKSET_BOOLEAN(prop) boolean nu = toBoolean(value); if (nu == prop) break; prop = nu;
-    //#define CHECKSET_STRING(prop) if ((value==null&&prop==null)||(value!=null&&value.equals(prop))) break; prop=(String)value;
+    //#define CHECKSET_STRING(prop) if ((value==null&&prop==null)||(value!=null&&JS.toString(value).equals(prop))) break; prop=JS.toString(value);
 
     protected Box() { super(null); }
 
@@ -312,7 +312,7 @@ public final class Box extends JSScope implements Scheduler.Task {
         //#repeat col/row colspan/rowspan contentwidth/contentheight width/height HSHRINK/VSHRINK numregions/numregions_v \
         //        maxwidth/maxheight cols/rows minwidth/minheight lp_h/lp lp_h/lp easy_width/easy_height regions/regions_v \
         //        computeRegions/computeRegions_v
-        if (numkids > 0 && cols > 1) do {
+        if (numkids > 0) do {
             computeRegions();
             int nc = numregions * 3 + numkids * 2 + 3;
             if (coeff == null || nc+1>coeff.length) coeff = new float[nc+1];
@@ -823,7 +823,7 @@ public final class Box extends JSScope implements Scheduler.Task {
             }
 
         if (!obscured && !found)
-            if ("_Move".equals(name) || wasinside)
+            if ("_Move".equals(name) || name.startsWith("_Release") || wasinside)
                 if (name != null)
                     putAndTriggerTrapsAndCatchExceptions(name.substring(1), value);
     }