When trying to use the GuiObject.InputChanged
event, it will not fire under some very specific circumstances involving a ScrollingFrame. This bug occurs in both Studio and in-game.
I ran into this bug when I was working on a plugin in the middle of June, after taking a break at the end of March. At that time, this bug did not occur, although the bug now occurs in the plugin even though I haven’t updated it since then.
Repro
These steps seem to reproduce the issue 100% of the time, except for the caveats noted below.
repro.rbxl (27.1 KB)
- Play the repro file.
- Hold down the LMB (left mouse button) inside the ScrollingFrame (black area) and then move the mouse into the grey area.
- Notice that the red/blue cursor does not follow the mouse until it is some distance away from the ScrollingFrame in the grey area.
I expect InputChanged to fire under these circumstances, especially in the area outside the ScrollingFrame, as this is the behaviour for other GuiObjects.
Additional Info
- After doing the above steps, if you:
- Release the LMB in the grey area where InputChanged fires (where the red/blue cursor follows the mouse),
- Hold down LMB, and try to move the mouse into the ScrollingFrame or surrounding area again,
- The bug still occurs.
- If you instead:
- Release the LMB in the area where InputChanged does not fire,
- Move the mouse into the area that does fire,
- Do (2) from the previous set of steps,
- The bug does not occur.
- This bug does not occur if the ScrollingFrame is scrolled all the way to the bottom.
- This bug does not occur if the ScrollingFrame canvas is not large enough to scroll vertically.
- The vertical area below the ScrollingFrame that InputChanged does not fire for appears to have the same size as the vertical size of the canvas, however I was not able to determine the size of the horizontal areas.