JDK-8123381 : TextField/TextArea: on Windows, ArrayIndexOutOfBoundsException for complex Thai characters.
  • Type: Bug
  • Component: javafx
  • Sub-Component: graphics
  • Affected Version: 8
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2013-09-04
  • Updated: 2015-06-17
  • Resolved: 2013-09-27
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8
8Fixed
Related Reports
Blocks :  
Duplicate :  
Description
8.0 b105, run attached program, it contains a Text and a TextField to display Thai text "���������". Text is able to display it correctly, but for TextField, java.lang.ArrayIndexOutOfBoundsException is reported.
It happens in TextArea as well. Not sure if it's related to the fix of RT-26250

java.lang.ArrayIndexOutOfBoundsException: 3
	at com.sun.javafx.text.TextRun.getCharOffset(TextRun.java:543)
	at com.sun.prism.sw.SWGraphics.drawString(SWGraphics.java:751)
	at com.sun.javafx.sg.prism.NGText.renderText(NGText.java:312)
	at com.sun.javafx.sg.prism.NGText.renderContent2D(NGText.java:270)
	at com.sun.javafx.sg.prism.NGShape.renderContent(NGShape.java:225)
	at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:1811)
	at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1729)
	at com.sun.javafx.sg.prism.NGGroup.renderChildren(NGGroup.java:228)
	at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:194)
	at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1166)
	at com.sun.javafx.sg.prism.NGNode.renderForClip(NGNode.java:2035)
	at com.sun.javafx.sg.prism.NGNode.renderRectClip(NGNode.java:1929)
	at com.sun.javafx.sg.prism.NGNode.renderClip(NGNode.java:1955)
	at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:1807)
	at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1729)
	at com.sun.javafx.sg.prism.NGGroup.renderChildren(NGGroup.java:228)
	at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:194)
	at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1166)
	at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:1811)
	at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1729)
	at com.sun.javafx.sg.prism.NGGroup.renderChildren(NGGroup.java:228)
	at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:194)
	at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1166)
	at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:1811)
	at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1729)
	at com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:328)
	at com.sun.javafx.tk.quantum.ViewPainter.paintImpl(ViewPainter.java:208)
	at com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:87)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
	at com.sun.javafx.tk.RenderJob.run(RenderJob.java:58)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:129)
	at java.lang.Thread.run(Thread.java:724)
Comments
verified fix in b110.
08-10-2013

Raise the priority since it makes Hindi and Thai TextField/TextArea almost unusable.
05-09-2013