Description

It appears the custom hit testing logic of WidgetComponent handles click positions well via UWidgetComponent::GetHitWidgetPath adding virtual mouse coordinates to the arranged widget, but mouse movements aren't corrected in the same way. This can be remedied by disabling Slate's Fast Widget Paths, which causes FWeakWidgetPath::ToWidgetPath to call into WidgetComponent's TranslateMouseCoordinateFor3DChild to get the proper cursor position, but this causes mouse clicks to offset in the opposite direction. Ideally both clicks and movements would report the same cursor positions, so widgets like the slider can function properly in this scenario.

Steps to Reproduce
  • Create a widget with a slider. Add it to the world via a widget component. Enable "Receive Hardware Input"
  • Start PIE, and note that you can slide the slider as expected
  • Launch in Standalone and move the window to the top left corner. Note that the slider works as expected
  • Move the window elsewhere on your monitor. The slider can still be clicked to jump the thumb to certain positions, but sliding is offset

Have Comments or More Details?

There's no existing public thread on this issue, so head over toAnswerHub just mention UE-78688 in the post.

0
Login to Vote

Fixed
ComponentTools - Slate
Affects Versions4.214.24
Target Fix4.24
Fix Commit8127453
Main Commit8614014
CreatedAug 9, 2019
ResolvedAug 20, 2019
UpdatedSep 10, 2019