-
Bug
-
Resolution: Fixed
-
P3
-
7u6
-
Mac OS X 10.7.4
On Mac OS X when we call this method we do not receive actual text position so suggested input window is being placed in the wrong way.
Sometimes, when system asks us for a position in an empty string we got exception
java.lang.IllegalArgumentException: Both width and height must be >= 0
[java] at javafx.geometry.Rectangle2D.<init>(Rectangle2D.java:100)
[java] at com.sun.javafx.scene.control.skin.TextFieldSkin.getCharacterBounds(TextFieldSkin.java:625)
[java] at com.sun.javafx.scene.control.skin.TextInputControlSkin$14.getTextLocation(TextInputControlSkin.java:352)
[java] at javafx.scene.Scene$InputMethodRequestsDelegate.getTextLocation(Scene.java:3339)
[java] at com.sun.javafx.tk.quantum.GlassViewEventHandler.getInputMethodCandidatePos(GlassViewEventHandler.java:365)
[java] at com.sun.glass.ui.View.getInputMethodCandidatePos(View.java:660)
[java] at com.sun.glass.ui.View.notifyInputMethodCandidatePosRequest(View.java:951)
or when we changing focus with Command-tab while entering text with complex input methods we sometimes get the exception
java.lang.StringIndexOutOfBoundsException: String index out of range: 14
[java] at java.lang.String.substring(String.java:1934)
[java] at com.sun.javafx.sg.prism.NGTextHelper.getRangeShapeImpl(NGTextHelper.java:1681)
[java] at com.sun.javafx.sg.prism.NGTextHelper.getRangeShape(NGTextHelper.java:1563)
[java] at com.sun.javafx.sg.prism.NGTextHelper.getRangeShape(NGTextHelper.java:28)
[java] at javafx.scene.text.Text.impl_getRangeShape(Text.java:1126)
[java] at com.sun.javafx.scene.control.skin.TextFieldSkin.getCharacterBounds(TextFieldSkin.java:611)
[java] at com.sun.javafx.scene.control.skin.TextInputControlSkin$14.getTextLocation(TextInputControlSkin.java:352)
[java] at javafx.scene.Scene$InputMethodRequestsDelegate.getTextLocation(Scene.java:3339)
[java] at com.sun.javafx.tk.quantum.GlassViewEventHandler.getInputMethodCandidatePos(GlassViewEventHandler.java:365)
[java] at com.sun.glass.ui.View.getInputMethodCandidatePos(View.java:660)
[java] at com.sun.glass.ui.View.notifyInputMethodCandidatePosRequest(View.java:951)
I think i have a workaround for the later case but not for the first exception and coordinates are definitely wrong.
Sometimes, when system asks us for a position in an empty string we got exception
java.lang.IllegalArgumentException: Both width and height must be >= 0
[java] at javafx.geometry.Rectangle2D.<init>(Rectangle2D.java:100)
[java] at com.sun.javafx.scene.control.skin.TextFieldSkin.getCharacterBounds(TextFieldSkin.java:625)
[java] at com.sun.javafx.scene.control.skin.TextInputControlSkin$14.getTextLocation(TextInputControlSkin.java:352)
[java] at javafx.scene.Scene$InputMethodRequestsDelegate.getTextLocation(Scene.java:3339)
[java] at com.sun.javafx.tk.quantum.GlassViewEventHandler.getInputMethodCandidatePos(GlassViewEventHandler.java:365)
[java] at com.sun.glass.ui.View.getInputMethodCandidatePos(View.java:660)
[java] at com.sun.glass.ui.View.notifyInputMethodCandidatePosRequest(View.java:951)
or when we changing focus with Command-tab while entering text with complex input methods we sometimes get the exception
java.lang.StringIndexOutOfBoundsException: String index out of range: 14
[java] at java.lang.String.substring(String.java:1934)
[java] at com.sun.javafx.sg.prism.NGTextHelper.getRangeShapeImpl(NGTextHelper.java:1681)
[java] at com.sun.javafx.sg.prism.NGTextHelper.getRangeShape(NGTextHelper.java:1563)
[java] at com.sun.javafx.sg.prism.NGTextHelper.getRangeShape(NGTextHelper.java:28)
[java] at javafx.scene.text.Text.impl_getRangeShape(Text.java:1126)
[java] at com.sun.javafx.scene.control.skin.TextFieldSkin.getCharacterBounds(TextFieldSkin.java:611)
[java] at com.sun.javafx.scene.control.skin.TextInputControlSkin$14.getTextLocation(TextInputControlSkin.java:352)
[java] at javafx.scene.Scene$InputMethodRequestsDelegate.getTextLocation(Scene.java:3339)
[java] at com.sun.javafx.tk.quantum.GlassViewEventHandler.getInputMethodCandidatePos(GlassViewEventHandler.java:365)
[java] at com.sun.glass.ui.View.getInputMethodCandidatePos(View.java:660)
[java] at com.sun.glass.ui.View.notifyInputMethodCandidatePosRequest(View.java:951)
I think i have a workaround for the later case but not for the first exception and coordinates are definitely wrong.
- relates to
-
JDK-8122830 [macosx] Regression in Input Method panel positioning
-
- Resolved
-
-
JDK-8123843 Mac: InputMethod panel is positioned incorrectly
-
- Resolved
-