godot
godot copied to clipboard
Scrolling signal on RichTextLabel/ScrollContainer's scrollbar doesn't work when scrolling with scroll wheel
Bugsquad note: This issue has been confirmed several times already. No need to confirm it further.
Godot version:
3.2.4-rc3 (This is also an issue on 3.2.3).
OS/device including version:
Windows 10
Issue description:
The scrolling
signal on a RichTextLabel's scrollbar will not emit when it's scrolled with the scroll wheel. Clicking and dragging it still works.
Steps to reproduce:
- Make RichTextLabel
- Add enough text to trigger the scrollbar to appear
- Connect scrollbar's
scrolling
signal - Scroll with scroll wheel
Minimal reproduction project:
Is that signal emitted when using the mouse wheel on a ScrollContainer?
Also, it's possible that this is caused by the RichTextLabel itself intercepting the mouse input (mouse wheel usage counts as a button press).
No, it's not emitted when using the mouse wheel on a ScrollContainer as well.
I can confirm this issue is present on 3.3.2 as well for me
this issue still persist in 3.4.4
Can confirm on 3.5.1 stable mono. [edit] "scroll_started" and "scroll_ended" signals of scroll container does not work at all, no matter which child is used (Control, Label, Rect, etc.). While "scrolling" signal of scrollbar only works when scroll handle is grabbed.
Can confirm this is still current as of Godot 4.0.2, with the behaviour mentioned above:
- Scrolling with keyboard buttons or mouse wheel does not trigger signals
- Grabbing the scroller and moving it does trigger signals
"scroll_started" and "scroll_ended" signals of scroll container does not work at all, no matter which child is used (Control, Label, Rect, etc.). While "scrolling" signal of scrollbar only works when scroll handle is grabbed.
This is a separate bug, already reported in #22936
It occurred to me that fast fix would just be to have "scrolling" fired whenever "_value_changed" is called, but that might be too broad. Could I have some more direction for when "scrolling" is meant to be fired? I assume if its scrolled with keyboard or mouse then it should be fired, but if it's moved programmatically it shouldn't? The documentation just says "Emitted when the scrollbar is being scrolled."