From 50ad50170cfed19084ca44c4c1d4b0e81bc32aa4 Mon Sep 17 00:00:00 2001 From: Pwiz Date: Wed, 5 Apr 2023 12:30:24 +0800 Subject: [PATCH] Fix IME position bug with scroller (#1159) --- .../raw_editor_state_text_input_client_mixin.dart | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/lib/src/widgets/raw_editor/raw_editor_state_text_input_client_mixin.dart b/lib/src/widgets/raw_editor/raw_editor_state_text_input_client_mixin.dart index 5f98d56a..e3b9ff5f 100644 --- a/lib/src/widgets/raw_editor/raw_editor_state_text_input_client_mixin.dart +++ b/lib/src/widgets/raw_editor/raw_editor_state_text_input_client_mixin.dart @@ -333,14 +333,11 @@ mixin RawEditorStateTextInputClientMixin on EditorState if (hasConnection) { // Asking for renderEditor.size here can cause errors if layout hasn't // occurred yet. So we schedule a post frame callback instead. - SchedulerBinding.instance.addPostFrameCallback((_) { - if (!mounted) { - return; - } - final size = renderEditor.size; - final transform = renderEditor.getTransformTo(null); - _textInputConnection?.setEditableSizeAndTransform(size, transform); - }); + final size = renderEditor.size; + final transform = renderEditor.getTransformTo(null); + _textInputConnection?.setEditableSizeAndTransform(size, transform); + SchedulerBinding.instance + .addPostFrameCallback((_) => _updateSizeAndTransform()); } } }