godotengine / godotengine/godot

gui_input() stops on the scrollbar of a ScrollContainer

Open
#95,670 1 comment 0 reactions 0 assignees View on GitHub
discussion topic:gui
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.