Added try_connect function that doesn't cause errors when a signal is missing.

This commit is contained in:
Patrick 2021-08-18 22:09:25 +02:00
parent 5be8beb69f
commit 100c0a7a66
Signed by: mewin
GPG Key ID: CEDB412C39B5BC47

View File

@ -332,6 +332,10 @@ static func disconnect_all(sender : Object, receiver : Object, signal_name := ""
continue continue
sender.disconnect(signal_name, receiver, connection["method"]) sender.disconnect(signal_name, receiver, connection["method"])
static func try_connect(sender : Object, signal_name : String, receiver : Object, method : String, binds := []):
if sender.has_signal(signal_name):
sender.connect(signal_name, receiver, method, binds)
static func copy_signal_handlers(target : Object, source : Object, sig_name : String) -> void: static func copy_signal_handlers(target : Object, source : Object, sig_name : String) -> void:
for connection in source.get_signal_connection_list(sig_name): for connection in source.get_signal_connection_list(sig_name):
target.connect(sig_name, connection["target"], connection["method"], connection["binds"]) target.connect(sig_name, connection["target"], connection["method"], connection["binds"])