From 18bac47bae5f8fee5413d76e98c496b6eca4a00f Mon Sep 17 00:00:00 2001
From: Nicolas Pope <nwpope@utu.fi>
Date: Wed, 12 Jun 2019 21:40:55 +0300
Subject: [PATCH] Catch invalid click exception

---
 applications/gui/src/main.cpp | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/applications/gui/src/main.cpp b/applications/gui/src/main.cpp
index 5082b9495..3df95ca79 100644
--- a/applications/gui/src/main.cpp
+++ b/applications/gui/src/main.cpp
@@ -170,7 +170,15 @@ class FTLApplication : public nanogui::Screen {
 
 				float sx = ((float)p[0] - positionAfterOffset[0]) / mScale;
 				float sy = ((float)p[1] - positionAfterOffset[1]) / mScale;
-				Eigen::Vector4f camPos = src_->point(sx,sy);
+
+				Eigen::Vector4f camPos;
+
+				try {
+					camPos = src_->point(sx,sy);
+				} catch(...) {
+					return true;
+				}
+				
 				camPos *= -1.0f;
 				Eigen::Vector4f worldPos =  src_->getPose() * camPos;
 				lookPoint_ = Eigen::Vector3f(worldPos[0],worldPos[1],worldPos[2]);
-- 
GitLab