summaryrefslogtreecommitdiff
path: root/core/message_queue.h
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2016-01-04 09:35:21 -0300
committerJuan Linietsky <reduzio@gmail.com>2016-01-04 09:35:21 -0300
commit3d0bd1a3f38d39c62dd3471d07b7bcb40acfc5e7 (patch)
tree216c8bde3eafb2300fd5d4c49ec95354dcc7306e /core/message_queue.h
parent30d4a50b424c927b178cabfe30302de1e9d4c836 (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.h7
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);