From b85e5d51b2f1a88780a5b59fc18a2eb3059d4b96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= Date: Wed, 9 Mar 2022 22:20:39 +0100 Subject: [PATCH] Fix UndoRedo method call argument count after #58929 --- core/object/undo_redo.cpp | 12 ++++++------ core/object/undo_redo.h | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/core/object/undo_redo.cpp b/core/object/undo_redo.cpp index f7a12a75284..ee8eb97a93d 100644 --- a/core/object/undo_redo.cpp +++ b/core/object/undo_redo.cpp @@ -312,18 +312,18 @@ void UndoRedo::_process_operation_list(List::Element *E) { switch (op.type) { case Operation::TYPE_METHOD: { + int argc = op.args.size(); Vector argptrs; - argptrs.resize(op.args.size()); - int argc = 0; + argptrs.resize(argc); - for (int i = 0; i < op.args.size(); i++) { + for (int i = 0; i < argc; i++) { argptrs.write[i] = &op.args[i]; } Callable::CallError ce; obj->callp(op.name, (const Variant **)argptrs.ptr(), argc, ce); if (ce.error != Callable::CallError::CALL_OK) { - ERR_PRINT("Error calling method from signal '" + String(op.name) + "': " + Variant::get_call_error_text(obj, op.name, (const Variant **)argptrs.ptr(), argc, ce)); + ERR_PRINT("Error calling UndoRedo method operation '" + String(op.name) + "': " + Variant::get_call_error_text(obj, op.name, (const Variant **)argptrs.ptr(), argc, ce)); } #ifdef TOOLS_ENABLED Resource *res = Object::cast_to(obj); @@ -334,7 +334,7 @@ void UndoRedo::_process_operation_list(List::Element *E) { #endif if (method_callback) { - method_callback(method_callbck_ud, obj, op.name, (const Variant **)argptrs.ptr(), argc); + method_callback(method_callback_ud, obj, op.name, (const Variant **)argptrs.ptr(), argc); } } break; case Operation::TYPE_PROPERTY: { @@ -432,7 +432,7 @@ void UndoRedo::set_commit_notify_callback(CommitNotifyCallback p_callback, void void UndoRedo::set_method_notify_callback(MethodNotifyCallback p_method_callback, void *p_ud) { method_callback = p_method_callback; - method_callbck_ud = p_ud; + method_callback_ud = p_ud; } void UndoRedo::set_property_notify_callback(PropertyNotifyCallback p_property_callback, void *p_ud) { diff --git a/core/object/undo_redo.h b/core/object/undo_redo.h index 8871a549f8d..ecd7a21167b 100644 --- a/core/object/undo_redo.h +++ b/core/object/undo_redo.h @@ -92,7 +92,7 @@ private: CommitNotifyCallback callback = nullptr; void *callback_ud = nullptr; - void *method_callbck_ud = nullptr; + void *method_callback_ud = nullptr; void *prop_callback_ud = nullptr; MethodNotifyCallback method_callback = nullptr;