Skip to content

On Windows+Microsoft Japanese IME, last char is committed when deleting composing text with IME. #101953

@moko256

Description

@moko256

This is similar to #92132 but it occures with Google Japanese Input and Microsoft Japanese IME.

Steps to Reproduce

  1. Activate Japanese in Windows
  2. Execute flutter run on the code sample
  3. Click in the window to focus TextField
  4. Enable IME (switch A→あ in toggle on right side on task bar)
  5. Press A key (あ is appeared in composing text)
  6. Press I key (い is appeared in composing text)
  7. Press BackSpace twice

Expected results:
All characters are deleted.

Actual results:
A last character "あ" is commited.

Code sample
import 'package:flutter/material.dart';

void main() {
  runApp(MaterialApp(
    theme: ThemeData.light(),
    darkTheme: ThemeData.dark(),
    home: const Material(
      child: TextField(expands: true, minLines: null, maxLines: null),
    ),
  ));
}
Logs
[✓] Flutter (Channel master, 2.13.0-0.0.pre.571, on Microsoft Windows [Version 10.0.19044.1620], locale ja-JP)
    • Flutter version 2.13.0-0.0.pre.571 at C:\Users\moko256\softwares\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 8ffb1d21ef (49 minutes ago), 2022-04-14 19:34:08 -0400
    • Engine revision 2cce4bbf15
    • Dart version 2.18.0 (build 2.18.0-21.0.dev)
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\moko256\AppData\Local\Android\sdk
    • Platform android-32, build-tools 30.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.11+9-b60-7590822)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.10.3)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.10.31424.327
    • Windows 10 SDK version 10.0.19041.0

[✓] Android Studio (version 2021.1)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.11+9-b60-7590822)

[✓] VS Code, 64-bit edition (version 1.65.2)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Flutter extension version 3.24.0

[✓] Connected device (4 available)
    • Windows (desktop)       • windows • windows-x64     • Microsoft Windows [Version 10.0.19044.1620]
    • Windows (UWP) (desktop) • winuwp  • windows-uwp-x64 •
    • Chrome (web)            • chrome  • web-javascript  • Google Chrome 100.0.4896.75
    • Edge (web)              • edge    • web-javascript  • Microsoft Edge 100.0.1185.29

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

I sent PR to fix this: flutter/engine#32565

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High-priority issues at the top of the work lista: desktopRunning on desktopa: text inputEntering text in a text field or keyboard related problemsengineflutter/engine related. See also e: labels.platform-windowsBuilding on or for Windows specifically

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions