godot icon indicating copy to clipboard operation
godot copied to clipboard

Scrolling signal on RichTextLabel/ScrollContainer's scrollbar doesn't work when scrolling with scroll wheel

Open ShatReal opened this issue 4 years ago • 5 comments


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:

  1. Make RichTextLabel
  2. Add enough text to trigger the scrollbar to appear
  3. Connect scrollbar's scrolling signal
  4. Scroll with scroll wheel

Minimal reproduction project:

test.zip

ShatReal avatar Feb 25 '21 15:02 ShatReal

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).

Calinou avatar Feb 25 '21 16:02 Calinou

No, it's not emitted when using the mouse wheel on a ScrollContainer as well.

ghost avatar Feb 25 '21 17:02 ghost

I can confirm this issue is present on 3.3.2 as well for me

SeleDreams avatar Aug 09 '21 02:08 SeleDreams

this issue still persist in 3.4.4

IsotoxalDev avatar Jul 06 '22 17:07 IsotoxalDev

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.

autofool avatar Nov 28 '22 14:11 autofool

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

mhilbrunner avatar Apr 23 '23 09:04 mhilbrunner

"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

t-karcher avatar Jul 20 '23 11:07 t-karcher

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."

TheSofox avatar Apr 19 '24 15:04 TheSofox