Bug in SlateApplication::LocateWidgetInWindow and SlateApplication::TransformPointerEvent

I believe there is a bug in the two functions mentioned:

  • SlateApplication::LocateWidgetInWindow
  • SlateApplication::TransformPointerEvent

There is a thread here (How to select on which monitor to display the game ?), where I have spent probably a bit too long trouble-shooting this.

The functions in question use the display resolution of the primary display for calculating transformed mouse coordinates, which messes up UMG/Slate widgets when the application is being displayed on a secondary monitor (im my example, secondary monitor has different DPI scaling).

The problem is apparent when using Fullscreen window, NOT when using WindowedFullscreen.