diff options
author | Juan Linietsky <reduzio@gmail.com> | 2016-01-04 09:35:21 -0300 |
---|---|---|
committer | Juan Linietsky <reduzio@gmail.com> | 2016-01-04 09:35:21 -0300 |
commit | 3d0bd1a3f38d39c62dd3471d07b7bcb40acfc5e7 (patch) | |
tree | 216c8bde3eafb2300fd5d4c49ec95354dcc7306e /core/message_queue.h | |
parent | 30d4a50b424c927b178cabfe30302de1e9d4c836 (diff) |
-make signals throw an error when target method is not found, fixes #2036
-removed 4 arguments limit for emit_signal() from script
-remvoed 4 arguments limit for call_deferred() from script
Diffstat (limited to 'core/message_queue.h')
-rw-r--r-- | core/message_queue.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/core/message_queue.h b/core/message_queue.h index b6b74d2bd2..6a3ec79732 100644 --- a/core/message_queue.h +++ b/core/message_queue.h @@ -46,7 +46,10 @@ class MessageQueue { enum { TYPE_CALL, TYPE_NOTIFICATION, - TYPE_SET + TYPE_SET, + FLAG_SHOW_ERROR=1<<14, + FLAG_MASK=FLAG_SHOW_ERROR-1 + }; struct Message { @@ -65,12 +68,14 @@ class MessageQueue { uint32_t buffer_max_used; uint32_t buffer_size; + void _call_function(Object* p_target,const StringName& p_func,const Variant *p_args,int p_argcount,bool p_show_error); static MessageQueue *singleton; public: static MessageQueue *get_singleton(); + Error push_call(ObjectID p_id,const StringName& p_method,const Variant** p_args,int p_argcount,bool p_show_error=false); Error push_call(ObjectID p_id, const StringName& p_method, VARIANT_ARG_LIST); Error push_notification(ObjectID p_id, int p_notification); Error push_set(ObjectID p_id, const StringName& p_prop, const Variant& p_value); |