godotengine / godotengine/godot

Cannot use `Add Extra Call Argument` and `Unbind Signal Arguments` at the same time in editor

Open
#98,686 7 comments 7 reactions 0 assignees View on GitHub
discussion enhancement topic:editor
Dominant language
C++
Stars
117k
Forks
26.8k
PR merge metrics
PR metrics pending

Description

### Tested versions

- Reproducible in v4.4.dev3.official [f4af8201b]

### System information

Windows 11, Vulkan API 1.3.280 - Forward+ - Using Vulkan Device #0: NVIDIA - NVIDIA GeForce RTX 3060 Ti

### Issue description

When connect a method to a signal in the editor, we can not use `Add Extra Call Argument` and `Unbind Signal Arguments` at the same time. As long as we set a number ( number > 0) to the `Unbind Signal Arguments`, the Color of the `Add Extra Call Argument` area will become gray and any extra arguments will be discard after confirmation.

They should be able to use at the same time as the code does:
```
func _ready() -> void:
var callable = test.bind(true, true, true).unbind(1)
custom_signal.connect(callable)
custom_signal.emit(1, 2, 3)
```

![屏幕截图 2024-10-31 114631](https://github.com/user-attachments/assets/1af82f34-4f06-4669-ba87-0c7bc5280bfb)
![屏幕截图 2024-10-31 114652](https://github.com/user-attachments/assets/ceaa0d55-d351-4a4c-8440-a66755a91e4b)
屏幕截图 2024-10-31 114702

### Steps to reproduce

1. create a 2D node scene and attach a script with the code below
2. connect the custom_signal and add some extra arguments and set the unbind signal argument field

```
extends Node2D

signal custom_signal(a, b, c)

func test(a, b, c, d, e):
printt(a, b, c, d, e)

#func _ready() -> void:
#var callable = test.bind(true, true, true).unbind(1)
#custom_signal.connect(callable)
#custom_signal.emit(1, 2, 3)
```

### Minimal reproduction project (MRP)

NA

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the issue in the editor's signal connection workflow using the provided Node2D script, then compare the editor behavior with the Callable bind/unbind example in the issue. Done means both options can be configured together and the resulting connection preserves the requested extra and unbound arguments.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
game-dev, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 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.