aboutsummaryrefslogtreecommitdiff
path: root/scene/main/viewport.cpp
diff options
context:
space:
mode:
authorMateusz Adamczyk2016-10-08 12:33:10 +0200
committerRémi Verschelde2016-10-09 17:40:37 +0200
commitce1138cb02c75896e1926ad2e7b51fa2c0cd2f19 (patch)
tree035f59c0e0f5abeba8d14b6096d0641668f6c319 /scene/main/viewport.cpp
parenta139c7afe6b902856ae768ccf6991fd695350524 (diff)
downloadgodot-ce1138cb02c75896e1926ad2e7b51fa2c0cd2f19.tar.gz
godot-ce1138cb02c75896e1926ad2e7b51fa2c0cd2f19.tar.zst
godot-ce1138cb02c75896e1926ad2e7b51fa2c0cd2f19.zip
Diffstat (limited to 'scene/main/viewport.cpp')
-rw-r--r--scene/main/viewport.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp
index 347d72aec..ef103718d 100644
--- a/scene/main/viewport.cpp
+++ b/scene/main/viewport.cpp
@@ -1705,6 +1705,9 @@ Control* Viewport::_gui_find_control_at_pos(CanvasItem* p_node,const Point2& p_g
}
Matrix32 matrix = p_xform * p_node->get_transform();
+ // matrix.basis_determinant() == 0.0f implies that node does not exist on scene
+ if(matrix.basis_determinant() == 0.0f)
+ return NULL;
if (!c || !c->clips_input() || c->has_point(matrix.affine_inverse().xform(p_global))) {