mirror of
https://github.com/godotengine/godot.git
synced 2025-10-27 19:54:27 +00:00
Remove VARIANT_ARG* macros
* Very old macros from the time Godot was created. * Limited arguments to 5 (then later changed to 8) in many places. * They were replaced by C++11 Variadic Templates. * Renamed methods that take argument pointers to have a "p" suffix. This was used in some places and not in others, so made it standard. * Also added a dereference check for Variant*. Helped catch a couple of bugs.
This commit is contained in:
parent
922348f4c0
commit
21637dfc25
59 changed files with 417 additions and 467 deletions
|
|
@ -1064,18 +1064,16 @@ int ScriptEditorDebugger::_get_res_path_cache(const String &p_path) {
|
|||
return last_path_id;
|
||||
}
|
||||
|
||||
void ScriptEditorDebugger::_method_changed(Object *p_base, const StringName &p_name, VARIANT_ARG_DECLARE) {
|
||||
void ScriptEditorDebugger::_method_changed(Object *p_base, const StringName &p_name, const Variant **p_args, int p_argcount) {
|
||||
if (!p_base || !live_debug || !is_session_active() || !EditorNode::get_singleton()->get_edited_scene()) {
|
||||
return;
|
||||
}
|
||||
|
||||
Node *node = Object::cast_to<Node>(p_base);
|
||||
|
||||
VARIANT_ARGPTRS
|
||||
|
||||
for (int i = 0; i < VARIANT_ARG_MAX; i++) {
|
||||
for (int i = 0; i < p_argcount; i++) {
|
||||
//no pointers, sorry
|
||||
if (argptr[i] && (argptr[i]->get_type() == Variant::OBJECT || argptr[i]->get_type() == Variant::RID)) {
|
||||
if (p_args[i]->get_type() == Variant::OBJECT || p_args[i]->get_type() == Variant::RID) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
@ -1087,9 +1085,9 @@ void ScriptEditorDebugger::_method_changed(Object *p_base, const StringName &p_n
|
|||
Array msg;
|
||||
msg.push_back(pathid);
|
||||
msg.push_back(p_name);
|
||||
for (int i = 0; i < VARIANT_ARG_MAX; i++) {
|
||||
for (int i = 0; i < p_argcount; i++) {
|
||||
//no pointers, sorry
|
||||
msg.push_back(*argptr[i]);
|
||||
msg.push_back(*p_args[i]);
|
||||
}
|
||||
_put_msg("scene:live_node_call", msg);
|
||||
|
||||
|
|
@ -1105,9 +1103,9 @@ void ScriptEditorDebugger::_method_changed(Object *p_base, const StringName &p_n
|
|||
Array msg;
|
||||
msg.push_back(pathid);
|
||||
msg.push_back(p_name);
|
||||
for (int i = 0; i < VARIANT_ARG_MAX; i++) {
|
||||
for (int i = 0; i < p_argcount; i++) {
|
||||
//no pointers, sorry
|
||||
msg.push_back(*argptr[i]);
|
||||
msg.push_back(*p_args[i]);
|
||||
}
|
||||
_put_msg("scene:live_res_call", msg);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue