diff --git a/modules/bullet/area_bullet.cpp b/modules/bullet/area_bullet.cpp index efe244169bf..2ff233c6735 100644 --- a/modules/bullet/area_bullet.cpp +++ b/modules/bullet/area_bullet.cpp @@ -132,6 +132,10 @@ void AreaBullet::call_event(const OverlappingShapeData &p_overlapping_shape, Phy Variant::CallError outResp; areaGodoObject->call(event.event_callback_method, (const Variant **)call_event_res_ptr, 5, outResp); + + if (outResp.error != Variant::CallError::CALL_OK) { + ERR_PRINT_ONCE("Error calling event callback method " + Variant::get_call_error_text(areaGodoObject, event.event_callback_method, (const Variant **)call_event_res_ptr, 5, outResp)); + } } int AreaBullet::_overlapping_shape_count(CollisionObjectBullet *p_other_object) { diff --git a/servers/physics/area_sw.cpp b/servers/physics/area_sw.cpp index c9c2dae6c82..38741da63d5 100644 --- a/servers/physics/area_sw.cpp +++ b/servers/physics/area_sw.cpp @@ -228,6 +228,10 @@ void AreaSW::call_queries() { Variant::CallError ce; obj->call(monitor_callback_method, (const Variant **)resptr, 5, ce); + + if (ce.error != Variant::CallError::CALL_OK) { + ERR_PRINT_ONCE("Error calling monitor callback method " + Variant::get_call_error_text(obj, monitor_callback_method, (const Variant **)resptr, 5, ce)); + } } } else { monitored_bodies.clear(); @@ -264,6 +268,10 @@ void AreaSW::call_queries() { Variant::CallError ce; obj->call(area_monitor_callback_method, (const Variant **)resptr, 5, ce); + + if (ce.error != Variant::CallError::CALL_OK) { + ERR_PRINT_ONCE("Error calling area monitor callback method " + Variant::get_call_error_text(obj, area_monitor_callback_method, (const Variant **)resptr, 5, ce)); + } } } else { monitored_areas.clear(); diff --git a/servers/physics_2d/area_2d_sw.cpp b/servers/physics_2d/area_2d_sw.cpp index 46c0aafc720..8d3577874ea 100644 --- a/servers/physics_2d/area_2d_sw.cpp +++ b/servers/physics_2d/area_2d_sw.cpp @@ -228,6 +228,10 @@ void Area2DSW::call_queries() { Variant::CallError ce; obj->call(monitor_callback_method, (const Variant **)resptr, 5, ce); + + if (ce.error != Variant::CallError::CALL_OK) { + ERR_PRINT_ONCE("Error calling monitor callback method " + Variant::get_call_error_text(obj, monitor_callback_method, (const Variant **)resptr, 5, ce)); + } } } else { monitored_bodies.clear(); @@ -264,6 +268,10 @@ void Area2DSW::call_queries() { Variant::CallError ce; obj->call(area_monitor_callback_method, (const Variant **)resptr, 5, ce); + + if (ce.error != Variant::CallError::CALL_OK) { + ERR_PRINT_ONCE("Error calling area monitor callback method " + Variant::get_call_error_text(obj, area_monitor_callback_method, (const Variant **)resptr, 5, ce)); + } } } else { monitored_areas.clear();