Browse Source

Merge pull request #64078 from Nosliwnayr/master

Rémi Verschelde 3 years ago
parent
commit
afeb7572e3
2 changed files with 16 additions and 0 deletions
  1. 8 0
      servers/physics_2d/godot_area_2d.cpp
  2. 8 0
      servers/physics_3d/godot_area_3d.cpp

+ 8 - 0
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();

+ 8 - 0
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();