X-Git-Url: http://git.megacz.com/?p=org.ibex.core.git;a=blobdiff_plain;f=src%2Forg%2Fxwt%2FSpecialBoxProperty.java;h=56ee2091a5aee01188df1d8cd7dd6fce2f197908;hp=bc9b9d45c36c126bcf5216417ead781758310725;hb=5e6c7408d885681a6eb8576d3411227865b46a2a;hpb=e58686eae8a823ed64ed0ec92c2274c41d90ec93 diff --git a/src/org/xwt/SpecialBoxProperty.java b/src/org/xwt/SpecialBoxProperty.java index bc9b9d4..56ee209 100644 --- a/src/org/xwt/SpecialBoxProperty.java +++ b/src/org/xwt/SpecialBoxProperty.java @@ -64,7 +64,6 @@ class SpecialBoxProperty { static final int white = 0xFFFFFFFF; static { - specialBoxProperties.put("color", new SpecialBoxProperty() { public Object get(Box b) { if ((b.color & 0xFF000000) == 0) return null; @@ -81,10 +80,15 @@ class SpecialBoxProperty { String s = value == null ? null : value.toString(); if (value == null) newcolor = 0x00000000; else if (s.length() > 0 && s.charAt(0) == '#') - newcolor = 0xFF000000 | - (Integer.parseInt(s.substring(1, 3), 16) << 16) | - (Integer.parseInt(s.substring(3, 5), 16) << 8) | - Integer.parseInt(s.substring(5, 7), 16); + try { + newcolor = 0xFF000000 | + (Integer.parseInt(s.substring(1, 3), 16) << 16) | + (Integer.parseInt(s.substring(3, 5), 16) << 8) | + Integer.parseInt(s.substring(5, 7), 16); + } catch (NumberFormatException e) { + Log.log(this, "invalid color " + s); + return; + } else if (s.equals("black")) newcolor = black; else if (s.equals("blue")) newcolor = blue; else if (s.equals("green")) newcolor = green; @@ -101,7 +105,7 @@ class SpecialBoxProperty { else if (s.equals("pink")) newcolor = pink; else if (s.equals("yellow")) newcolor = yellow; else if (s.equals("white")) newcolor = white; - else if (Log.on) Log.log(this, "invalid color \"" + s + "\" at " + JS.getCurrentFunctionSourceName()); + else if (Log.on) Log.logJS(this, "invalid color \"" + s + "\""); if (newcolor == b.color) return; b.color = newcolor; b.dirty(); @@ -144,7 +148,7 @@ class SpecialBoxProperty { else if (s.equals("pink")) newtextcolor = pink; else if (s.equals("yellow")) newtextcolor = yellow; else if (s.equals("white")) newtextcolor = white; - else if (Log.on) Log.log(this, "invalid color \"" + s + "\" at " + JS.getCurrentFunctionSourceName()); + else if (Log.on) Log.logJS(this, "invalid color \"" + s + "\""); if (newtextcolor == b.textcolor) return; b.textcolor = newtextcolor; b.dirty(); @@ -164,7 +168,7 @@ class SpecialBoxProperty { return; } - // FEATURE: try removing the following line; it appears to be redundant + // FEATURE: try removing the following line; it appears to be redundant b.dirty(); b.text = t; b.textupdate(); @@ -214,7 +218,7 @@ class SpecialBoxProperty { specialBoxProperties.put("static", new SpecialBoxProperty() { public Object get(Box b) { - String cfsn = JS.getCurrentFunction().getSourceName(); + String cfsn = JS.Thread.fromJavaThread(Thread.currentThread()).getCurrentCompiledFunction().getSourceName(); for(int i=0; i