From ea44744e2daf512ac97ba7176d1e65d77b4f8042 Mon Sep 17 00:00:00 2001 From: George Marques Date: Mon, 24 May 2021 14:18:39 -0300 Subject: Make Callable not crash on call when the object has been freed Also add a GDScript test for this case. --- .../tests/scripts/runtime/errors/callable_call_after_free_object.gd | 5 +++++ .../scripts/runtime/errors/callable_call_after_free_object.out | 6 ++++++ 2 files changed, 11 insertions(+) create mode 100644 modules/gdscript/tests/scripts/runtime/errors/callable_call_after_free_object.gd create mode 100644 modules/gdscript/tests/scripts/runtime/errors/callable_call_after_free_object.out (limited to 'modules/gdscript/tests/scripts/runtime/errors') diff --git a/modules/gdscript/tests/scripts/runtime/errors/callable_call_after_free_object.gd b/modules/gdscript/tests/scripts/runtime/errors/callable_call_after_free_object.gd new file mode 100644 index 0000000000..10780b5379 --- /dev/null +++ b/modules/gdscript/tests/scripts/runtime/errors/callable_call_after_free_object.gd @@ -0,0 +1,5 @@ +func test(): + var node := Node.new() + var inside_tree = node.is_inside_tree + node.free() + inside_tree.call() diff --git a/modules/gdscript/tests/scripts/runtime/errors/callable_call_after_free_object.out b/modules/gdscript/tests/scripts/runtime/errors/callable_call_after_free_object.out new file mode 100644 index 0000000000..e585c374e2 --- /dev/null +++ b/modules/gdscript/tests/scripts/runtime/errors/callable_call_after_free_object.out @@ -0,0 +1,6 @@ +GDTEST_RUNTIME_ERROR +>> SCRIPT ERROR +>> on function: test() +>> runtime/errors/callable_call_after_free_object.gd +>> 5 +>> Attempt to call function 'null::is_inside_tree (Callable)' on a null instance. -- cgit v1.2.3