diff -r e5618cc85d74 -r 6c158198356e javauis/lcdui_akn/javalcdui/javasrc/javax/microedition/lcdui/Ticker.java --- a/javauis/lcdui_akn/javalcdui/javasrc/javax/microedition/lcdui/Ticker.java Thu Jul 15 18:31:06 2010 +0300 +++ b/javauis/lcdui_akn/javalcdui/javasrc/javax/microedition/lcdui/Ticker.java Thu Aug 19 09:48:13 2010 +0300 @@ -28,6 +28,7 @@ private int iHandle; private String iText; private Finalizer mFinalizer; + private static final int MAX_TICKER_SIZE = 8000; // less than 8KB public Ticker(String aText) { @@ -35,6 +36,11 @@ { throw new NullPointerException(); } + else if (aText.length() > MAX_TICKER_SIZE) + { + aText = aText.substring(0, MAX_TICKER_SIZE - 1); + } + mFinalizer = new Finalizer() { public void finalizeImpl() @@ -57,6 +63,11 @@ { throw new NullPointerException(); } + else if (aText.length() > MAX_TICKER_SIZE) + { + aText = aText.substring(0, MAX_TICKER_SIZE - 1); + } + synchronized (iToolkit) { if (iHandle <= 0) throw new RuntimeException("bad handle");