--- old/modules/graphics/src/main/java/com/sun/glass/ui/gtk/GtkView.java 2013-11-22 15:54:57.228412937 +0400 +++ new/modules/graphics/src/main/java/com/sun/glass/ui/gtk/GtkView.java 2013-11-22 15:54:57.084412934 +0400 @@ -103,15 +103,22 @@ @Override protected native void _exitFullscreen(long ptr, boolean animate); - + @Override protected void _finishInputMethodComposition(long ptr) { + if (imEnabled) { + // Discard any pre-edited text + preedit.setLength(0); + notifyInputMethod(preedit.toString(), null, null, null, 0, 0, 0); + } + } + protected void notifyInputMethodDraw(String text, int first, int length, int caret) { if (text != null) { preedit.replace(first, first + length, text); - notifyInputMethod(preedit.toString(), null, null, null, 0, caret, 0); - lastCaret = caret; } else { preedit.setLength(0); } + notifyInputMethod(preedit.toString(), null, null, null, 0, caret, 0); + lastCaret = caret; } protected void notifyInputMethodCaret(int pos, int direction, int style) {