summaryrefslogtreecommitdiff
path: root/scene/main
diff options
context:
space:
mode:
authorMateusz Adamczyk <matek_a@outlook.com>2016-10-08 12:33:10 +0200
committerMateusz Adamczyk <matek_a@outlook.com>2016-10-08 12:33:10 +0200
commit8671836b76e8723a1d9021f8d7bf56ce5fdcc6f3 (patch)
tree5bd1e08107cdeb663bc87fe974dc5a4ce00a6aba /scene/main
parent1f9e16119f2b17fa507bdee8529459ed91f27b8c (diff)
Added simple check to viewport, if matrix32 is invesile (https://github.com/godotengine/godot/issues/6296).
Diffstat (limited to 'scene/main')
-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 b22d1fcdf4..0c243bd473 100644
--- a/scene/main/viewport.cpp
+++ b/scene/main/viewport.cpp
@@ -1715,6 +1715,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))) {