diff options
| author | Juan Linietsky | 2014-09-15 11:33:30 -0300 |
|---|---|---|
| committer | Juan Linietsky | 2014-09-15 11:33:30 -0300 |
| commit | 8cab401d08f8e25aa9b2dc710204785858ff3dbb (patch) | |
| tree | 1a4cec868f937fb24d340ee33fbeba2f1c6fa9f2 /core/object.cpp | |
| parent | 1a2cb755e2d8b9d59178f36702f6dff7235b9088 (diff) | |
| download | godot-8cab401d08f8e25aa9b2dc710204785858ff3dbb.tar.gz godot-8cab401d08f8e25aa9b2dc710204785858ff3dbb.tar.zst godot-8cab401d08f8e25aa9b2dc710204785858ff3dbb.zip | |
Diffstat (limited to 'core/object.cpp')
| -rw-r--r-- | core/object.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/core/object.cpp b/core/object.cpp index b40f4ec15..8a844577a 100644 --- a/core/object.cpp +++ b/core/object.cpp @@ -1286,16 +1286,16 @@ void Object::get_signal_connection_list(const StringName& p_signal,List<Connecti } -void Object::connect(const StringName& p_signal, Object *p_to_object, const StringName& p_to_method,const Vector<Variant>& p_binds,uint32_t p_flags) { +Error Object::connect(const StringName& p_signal, Object *p_to_object, const StringName& p_to_method,const Vector<Variant>& p_binds,uint32_t p_flags) { - ERR_FAIL_NULL(p_to_object); + ERR_FAIL_NULL_V(p_to_object,ERR_INVALID_PARAMETER); Signal *s = signal_map.getptr(p_signal); if (!s) { bool signal_is_valid = ObjectTypeDB::has_signal(get_type_name(),p_signal); if (!signal_is_valid) { ERR_EXPLAIN("Attempt to connect to unexisting signal: "+p_signal); - ERR_FAIL_COND(!signal_is_valid); + ERR_FAIL_COND_V(!signal_is_valid,ERR_INVALID_PARAMETER); } signal_map[p_signal]=Signal(); s=&signal_map[p_signal]; @@ -1304,7 +1304,7 @@ void Object::connect(const StringName& p_signal, Object *p_to_object, const Stri Signal::Target target(p_to_object->get_instance_ID(),p_to_method); if (s->slot_map.has(target)) { ERR_EXPLAIN("Signal '"+p_signal+"'' already connected to given method '"+p_to_method+"' in that object."); - ERR_FAIL_COND(s->slot_map.has(target)); + ERR_FAIL_COND_V(s->slot_map.has(target),ERR_INVALID_PARAMETER); } Signal::Slot slot; @@ -1319,6 +1319,8 @@ void Object::connect(const StringName& p_signal, Object *p_to_object, const Stri slot.conn=conn; slot.cE=p_to_object->connections.push_back(conn); s->slot_map[target]=slot; + + return OK; } bool Object::is_connected(const StringName& p_signal, Object *p_to_object, const StringName& p_to_method) const { |
