On Wed, 18 Aug 2021 23:57:38 GMT, Phil Race <p...@openjdk.org> wrote:
> When Ctrl+Space is pressed mac generates a string that contains the single > unicode code point zero. > The fn that converts it from an NSString to a Java String is using > NewStringUTF. > The input to that is a null terminated string which also has zero as the code > point it contains, so > we actually end up with a zero length Java string instead of the intended one > code point in length. > So the fix is to change the way we convert the string. > > There's an existing test CtrlAscii.java which sort of tests some of this but > it isn't asserting that you > get what you expect, its mostly testing you don't get something *unexpected* > .. it will happily pass if > you don't get keyevents. I did not want to change the purpose of that test > for this. > So I wrote a test specific to this Ctrl+Space to verify the fix but also ran > all the standard automated tests too. > On the other hand i now see that AFTER i did a multibyte character input > every time i switch into application with - i get following output in the > terminal: > 2021-08-19 08:44:24.155 java[18144:1448976] Apple AWT Internal Exception: > Java Exception It is not related to this change, i rolled it back and the issue persists so has nothing to do with this fix. ------------- PR: https://git.openjdk.java.net/jdk/pull/5177