godotengine / godotengine/godot
gui_input() stops on the scrollbar of a ScrollContainer
- Dominant language
- C++
- Stars
- 117k
- Forks
- 26.8k
- PR merge metrics
- PR metrics pending
Description
### Tested versions
- v4.3-stable
### System information
Godot v4.3.stable - Windows 10.0.19045 - GLES3 (Compatibility) - Intel(R) HD Graphics 620 (Intel Corporation; 31.0.101.2111) - Intel(R) Core(TM) i5-7300U CPU @ 2.60GHz (4 Threads)
### Issue description
When using the signal `gui_signal()` hovering over the scrollbar part of it does not trigger the signal, im unsure if this is a bug but it feels like one as every other part of the container triggers the signal.
```gdscript
extends Node2D
var on_ui : bool = false
func _process(_delta):
print(on_ui)
on_ui = false
func on_gui_input(_event):
on_ui = true
```
### Steps to reproduce
1. Create Scrollbar with an overflow so the scrollbar appears
2. Add the code above and link the signal `gui_input(event)` to the function `on_gui_input(_event)`
3. Run the game and run the cursor up and down the scrollbar and it will continue to output `false`
Im unsure if this is a bug but running my cursor on anything else that i have linked to my function with `gui_input(event)` always triggers the function.
### Minimal reproduction project (MRP)
N/A
Contributor guide
Research direction
Start by reproducing the issue with a ScrollContainer that has overflow and a connected gui_input(event) signal, using the steps and GDScript shown in the report. Trace input handling for the ScrollContainer and its scrollbar to determine whether the signal is intentionally consumed or incorrectly omitted. Done means the expected behavior is clarified and, if confirmed as a bug, gui_input is triggered consistently over the scrollbar.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, godot
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100