View Issue Details

IDProjectCategoryView StatusLast Update
0003908NoesisGUIUnrealpublic2025-05-20 17:36
Reportervmaurer Assigned Tohcpizzi  
PrioritynormalSeverityminor 
Status resolvedResolutionfixed 
Product Version3.2.6 
Target Version3.2.8Fixed in Version3.2.8 
Summary0003908: Calling IView::Activate() on a view with a focused element resets the focus
Description

IView::Activate() seems not only to return focus to a previously focused element, but also do the opposite, if the element was already focused. This can be problematic, because IView::Activate() is called in the NativeOnMouseEnter() implementation of UNoesisInstance. NativeOnMouseEnter() on the other hand may be called during a synthesized mouse event, and it can happen even when the mouse cursor is inside the widget.

Suggestion: Either IView::Activate() should not remove the focus or there should be a way to avoid this from happening.

UE version: 5.5

Steps To Reproduce

We have the following scenario where it happens:

  1. After the initial loading phase, the main menu boots up and automatically focuses the first button
  2. The loading widget is still visible on top of the screen
  3. Once the background loading is done, the loading widget is removed from the viewport
  4. SlateApplication registers a different widget below the mouse cursor and triggers a synthesized mouse event
  5. NativeOnMouseEnter() is called with IView::Activate(), removing the focus from the button

Note: The loading widget is not visible to hit events and/or blocking mouse input.

PlatformAny

Activities

hcpizzi

hcpizzi

2025-05-20 17:36

developer   ~0010722

For 3.2.8 we've added a define that, by default, removes the calls to Deactivate/Activate from NativeOnMouseLeave/Enter.

Issue History

Date Modified Username Field Change
2025-01-17 15:08 vmaurer New Issue
2025-01-17 15:08 vmaurer Tag Attached: C++
2025-01-17 15:08 vmaurer Tag Attached: Unreal
2025-01-17 18:18 sfernandez Assigned To => hcpizzi
2025-01-17 18:18 sfernandez Status new => assigned
2025-01-17 18:18 sfernandez Target Version => 3.2.7
2025-01-20 17:42 jsantos Target Version 3.2.7 => 3.2.8
2025-05-20 17:36 hcpizzi Status assigned => resolved
2025-05-20 17:36 hcpizzi Resolution open => fixed
2025-05-20 17:36 hcpizzi Fixed in Version => 3.2.8
2025-05-20 17:36 hcpizzi Note Added: 0010722