summaryrefslogtreecommitdiff
path: root/servers
diff options
context:
space:
mode:
authorRyan Heath <Nosliwnayr@users.noreply.github.com>2022-08-07 13:43:44 -0700
committerRyan Heath <Nosliwnayr@users.noreply.github.com>2022-08-07 13:47:03 -0700
commit9d4e5a466eb3c9b5edcabc8535d1ad6583702070 (patch)
treeeca29b23b61231797e0020a7662a91f99755bcf8 /servers
parent836fe9adcd94e68c30d6042d1ce5bfabde6b3473 (diff)
Add area monitor callback error checking
Diffstat (limited to 'servers')
-rw-r--r--servers/physics_2d/godot_area_2d.cpp8
-rw-r--r--servers/physics_3d/godot_area_3d.cpp8
2 files changed, 16 insertions, 0 deletions
diff --git a/servers/physics_2d/godot_area_2d.cpp b/servers/physics_2d/godot_area_2d.cpp
index 96c8dfc69e..af90f96438 100644
--- a/servers/physics_2d/godot_area_2d.cpp
+++ b/servers/physics_2d/godot_area_2d.cpp
@@ -248,6 +248,10 @@ void GodotArea2D::call_queries() {
Callable::CallError ce;
Variant ret;
monitor_callback.callp((const Variant **)resptr, 5, ret, ce);
+
+ if (ce.error != Callable::CallError::CALL_OK) {
+ ERR_PRINT_ONCE("Error calling event callback method " + Variant::get_callable_error_text(monitor_callback, (const Variant **)resptr, 5, ce));
+ }
}
} else {
monitored_bodies.clear();
@@ -286,6 +290,10 @@ void GodotArea2D::call_queries() {
Callable::CallError ce;
Variant ret;
area_monitor_callback.callp((const Variant **)resptr, 5, ret, ce);
+
+ if (ce.error != Callable::CallError::CALL_OK) {
+ ERR_PRINT_ONCE("Error calling event callback method " + Variant::get_callable_error_text(area_monitor_callback, (const Variant **)resptr, 5, ce));
+ }
}
} else {
monitored_areas.clear();
diff --git a/servers/physics_3d/godot_area_3d.cpp b/servers/physics_3d/godot_area_3d.cpp
index fdb9f42b40..9765d0bf58 100644
--- a/servers/physics_3d/godot_area_3d.cpp
+++ b/servers/physics_3d/godot_area_3d.cpp
@@ -277,6 +277,10 @@ void GodotArea3D::call_queries() {
Callable::CallError ce;
Variant ret;
monitor_callback.callp((const Variant **)resptr, 5, ret, ce);
+
+ if (ce.error != Callable::CallError::CALL_OK) {
+ ERR_PRINT_ONCE("Error calling monitor callback method " + Variant::get_callable_error_text(monitor_callback, (const Variant **)resptr, 5, ce));
+ }
}
} else {
monitored_bodies.clear();
@@ -315,6 +319,10 @@ void GodotArea3D::call_queries() {
Callable::CallError ce;
Variant ret;
area_monitor_callback.callp((const Variant **)resptr, 5, ret, ce);
+
+ if (ce.error != Callable::CallError::CALL_OK) {
+ ERR_PRINT_ONCE("Error calling area monitor callback method " + Variant::get_callable_error_text(area_monitor_callback, (const Variant **)resptr, 5, ce));
+ }
}
} else {
monitored_areas.clear();