summaryrefslogtreecommitdiff
path: root/core/object.cpp
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2015-05-10 15:45:33 -0300
committerJuan Linietsky <reduzio@gmail.com>2015-05-10 15:45:33 -0300
commit9b692b174b06ebb80d6e5a82309b9c9fc44c797d (patch)
tree9ab3b9b6ec39cdd9ce02ff2edb8689f204a413d1 /core/object.cpp
parentd1e4d6e997d2c2f753ee510fcd13dee08b214968 (diff)
-convert to subscene keeps signal connections, fixes #1863
Diffstat (limited to 'core/object.cpp')
-rw-r--r--core/object.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/core/object.cpp b/core/object.cpp
index 07e24655c2..c1904d05d7 100644
--- a/core/object.cpp
+++ b/core/object.cpp
@@ -1282,6 +1282,23 @@ void Object::get_signal_list(List<MethodInfo> *p_signals ) const {
}
}
+
+void Object::get_all_signal_connections(List<Connection> *p_connections) const {
+
+ const StringName *S=NULL;
+
+ while((S=signal_map.next(S))) {
+
+ const Signal *s=&signal_map[*S];
+
+ for(int i=0;i<s->slot_map.size();i++) {
+
+ p_connections->push_back(s->slot_map.getv(i).conn);
+ }
+ }
+
+}
+
void Object::get_signal_connection_list(const StringName& p_signal,List<Connection> *p_connections) const {
const Signal *s=signal_map.getptr(p_signal);