Merge pull request #54033 from nekomatata/fix-collision-mouse-exit-error-3.x

This commit is contained in:
Rémi Verschelde 2021-11-09 00:00:47 +01:00 committed by GitHub
commit bee67513fb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -2687,6 +2687,10 @@ void Viewport::_drop_physics_mouseover(bool p_paused_only) {
if (o) {
CollisionObject2D *co = Object::cast_to<CollisionObject2D>(o);
if (co) {
if (!co->is_inside_tree()) {
to_erase.push_back(E);
continue;
}
if (p_paused_only && co->can_process()) {
continue;
}
@ -2705,7 +2709,9 @@ void Viewport::_drop_physics_mouseover(bool p_paused_only) {
if (physics_object_over) {
CollisionObject *co = Object::cast_to<CollisionObject>(ObjectDB::get_instance(physics_object_over));
if (co) {
if (!(p_paused_only && co->can_process())) {
if (!co->is_inside_tree()) {
physics_object_over = physics_object_capture = 0;
} else if (!(p_paused_only && co->can_process())) {
co->_mouse_exit();
physics_object_over = physics_object_capture = 0;
}