Description

Changing the mouse cursor depending on what it is currently over only happens if a mouse button is also being held down. This worked normally in version 4.5.1

WORKAROUND:
In UGameViewportClient::GetCursor() (in GameViewportClient.cpp), change the following line:

if (!InViewport->HasMouseCapture() || !InViewport->HasFocus() || (ViewportConsole && ViewportConsole->ConsoleActive()))

with

if ((!InViewport->HasMouseCapture() && !InViewport->HasFocus()) || (ViewportConsole && ViewportConsole->ConsoleActive()))

WORKING CHANGELIST:
2336109

NOT WORKING CHANGELIST:
2374938

The line in the workaround above was last changed in CL 2365636.

Steps to Reproduce
  1. Download and unzip the attached project.
  2. Associate the .uproject file with your Engine installation.
  3. Open the solution in Visual Studio and build the project.
  4. Open the project in the Editor.
    • Ignore the warnings about materials that could not be found, they are not needed for this test.
  5. Play the project in the Editor.

RESULT:
Moving the mouse over the cubes and spheres in the level does not change the mouse cursor that is displayed unless a mouse button is being held down.

EXPECTED:
The mouse cursor changes when the mouse is moved over a cube or sphere without needing a mouse button to be held down.

Have Comments or More Details?

Head over to the existing AnswerHub thread and let us know what's up.

0
Login to Vote

Fixed
ComponentTools
Affects Versions4.64.7
Target Fix4.7
Fix Commit2384427
CreatedDec 5, 2014
ResolvedDec 10, 2014
UpdatedFeb 4, 2019