mirror of
https://github.com/godotengine/godot.git
synced 2025-10-31 21:51:22 +00:00
Better explain out of memory error in message queue
Also effectively saves one unnecessary call when everything is fine.
This commit is contained in:
parent
6034eae95e
commit
1a7aafa90d
1 changed files with 6 additions and 4 deletions
|
|
@ -51,9 +51,10 @@ Error MessageQueue::push_call(ObjectID p_id, const StringName &p_method, const V
|
||||||
type = ObjectDB::get_instance(p_id)->get_class();
|
type = ObjectDB::get_instance(p_id)->get_class();
|
||||||
print_line("failed method: " + type + ":" + p_method + " target ID: " + itos(p_id));
|
print_line("failed method: " + type + ":" + p_method + " target ID: " + itos(p_id));
|
||||||
statistics();
|
statistics();
|
||||||
|
ERR_EXPLAIN("Message queue out of memory. Try increasing 'message_queue_size_kb' in project settings");
|
||||||
|
ERR_FAIL_V(ERR_OUT_OF_MEMORY);
|
||||||
}
|
}
|
||||||
|
|
||||||
ERR_FAIL_COND_V((buffer_end + room_needed) >= buffer_size, ERR_OUT_OF_MEMORY);
|
|
||||||
Message *msg = memnew_placement(&buffer[buffer_end], Message);
|
Message *msg = memnew_placement(&buffer[buffer_end], Message);
|
||||||
msg->args = p_argcount;
|
msg->args = p_argcount;
|
||||||
msg->instance_ID = p_id;
|
msg->instance_ID = p_id;
|
||||||
|
|
@ -101,10 +102,10 @@ Error MessageQueue::push_set(ObjectID p_id, const StringName &p_prop, const Vari
|
||||||
type = ObjectDB::get_instance(p_id)->get_class();
|
type = ObjectDB::get_instance(p_id)->get_class();
|
||||||
print_line("failed set: " + type + ":" + p_prop + " target ID: " + itos(p_id));
|
print_line("failed set: " + type + ":" + p_prop + " target ID: " + itos(p_id));
|
||||||
statistics();
|
statistics();
|
||||||
|
ERR_EXPLAIN("Message queue out of memory. Try increasing 'message_queue_size_kb' in project settings");
|
||||||
|
ERR_FAIL_V(ERR_OUT_OF_MEMORY);
|
||||||
}
|
}
|
||||||
|
|
||||||
ERR_FAIL_COND_V((buffer_end + room_needed) >= buffer_size, ERR_OUT_OF_MEMORY);
|
|
||||||
|
|
||||||
Message *msg = memnew_placement(&buffer[buffer_end], Message);
|
Message *msg = memnew_placement(&buffer[buffer_end], Message);
|
||||||
msg->args = 1;
|
msg->args = 1;
|
||||||
msg->instance_ID = p_id;
|
msg->instance_ID = p_id;
|
||||||
|
|
@ -134,9 +135,10 @@ Error MessageQueue::push_notification(ObjectID p_id, int p_notification) {
|
||||||
type = ObjectDB::get_instance(p_id)->get_class();
|
type = ObjectDB::get_instance(p_id)->get_class();
|
||||||
print_line("failed notification: " + itos(p_notification) + " target ID: " + itos(p_id));
|
print_line("failed notification: " + itos(p_notification) + " target ID: " + itos(p_id));
|
||||||
statistics();
|
statistics();
|
||||||
|
ERR_EXPLAIN("Message queue out of memory. Try increasing 'message_queue_size_kb' in project settings");
|
||||||
|
ERR_FAIL_V(ERR_OUT_OF_MEMORY);
|
||||||
}
|
}
|
||||||
|
|
||||||
ERR_FAIL_COND_V((buffer_end + room_needed) >= buffer_size, ERR_OUT_OF_MEMORY);
|
|
||||||
Message *msg = memnew_placement(&buffer[buffer_end], Message);
|
Message *msg = memnew_placement(&buffer[buffer_end], Message);
|
||||||
|
|
||||||
msg->type = TYPE_NOTIFICATION;
|
msg->type = TYPE_NOTIFICATION;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue