Description

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 to Reproduce

[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.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-88579 in the post.

0
Login to Vote

Won't Fix
ComponentUE - Editor - UI Systems
Affects Versions4.224.234.24
CreatedFeb 12, 2020
ResolvedAug 31, 2021
UpdatedAug 31, 2021