summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/object.cpp7
-rw-r--r--core/object.h1
2 files changed, 8 insertions, 0 deletions
diff --git a/core/object.cpp b/core/object.cpp
index bedab63281..cbe24a49f3 100644
--- a/core/object.cpp
+++ b/core/object.cpp
@@ -1401,6 +1401,13 @@ bool Object::has_persistent_signal_connections() const {
return false;
}
+void Object::get_signals_connected_to_this(List<Connection> *p_connections) const {
+
+ for (const List<Connection>::Element *E=connections.front();E;E=E->next()) {
+ p_connections->push_back(E->get());
+ }
+}
+
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) {
diff --git a/core/object.h b/core/object.h
index e886aa3459..ce545a58e8 100644
--- a/core/object.h
+++ b/core/object.h
@@ -605,6 +605,7 @@ public:
void get_signal_connection_list(const StringName& p_signal,List<Connection> *p_connections) const;
void get_all_signal_connections(List<Connection> *p_connections) const;
bool has_persistent_signal_connections() const;
+ void get_signals_connected_to_this(List<Connection> *p_connections) const;
Error connect(const StringName& p_signal, Object *p_to_object, const StringName& p_to_method,const Vector<Variant>& p_binds=Vector<Variant>(),uint32_t p_flags=0);
void disconnect(const StringName& p_signal, Object *p_to_object, const StringName& p_to_method);