Unable to input IME text in widget component, but able to input IME text in textbox like UMG designer. It works fine until 4.21, however it wasn't able to work after 4.22.
Workaround:
void FSlateEditableTextLayout::FTextInputMethodContext::CacheWindow() { if (!OwnerLayout) { return; } const TSharedRef<const SWidget> OwningSlateWidgetPtr = OwnerLayout->OwnerWidget->GetSlateWidget(); #if 0 CachedParentWindow = FSlateApplication::Get().FindWidgetWindow(OwningSlateWidgetPtr); #else FWidgetPath WidgetPath; CachedParentWindow = FSlateApplication::Get().FindWidgetWindow(OwningSlateWidgetPtr, WidgetPath); #endif }
[Steps]
1. Create new widget and add MultiLineEditableText.
2. Create new blueprint actor and add widget component.
3. Set the following value in widget component.
Widget Class = User Widget Class making step1
Drawing at Desired Size = true
Receive Hardware Input = true
4.Placed blueprint actor in level viewport.
5. Run PIE.
6. Moving mouse cursor and click on widget component.
7. Input text with enabling IME in widget component (e.g. adding Japanese text).
Expect:
can input text with IME.
Result:
unable to input text with IME.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-88579 in the post.
0 |
Component | UE - Editor - UI Systems |
---|---|
Affects Versions | 4.22, 4.23, 4.24 |
Created | Feb 12, 2020 |
---|---|
Resolved | Aug 31, 2021 |
Updated | Aug 31, 2021 |