From 21d1ff1fc4f69db0081d063db8e8f50d34055332 Mon Sep 17 00:00:00 2001
From: Sebastian Gaida <gaida@ca-digit.com>
Date: Sat, 19 Jun 2021 14:55:46 +0200
Subject: [PATCH] [#60] add null check for window

---
 modules/camera/src/vkcv/camera/CameraManager.cpp | 1 +
 src/vkcv/Window.cpp                              | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/modules/camera/src/vkcv/camera/CameraManager.cpp b/modules/camera/src/vkcv/camera/CameraManager.cpp
index 49727829..d539994d 100644
--- a/modules/camera/src/vkcv/camera/CameraManager.cpp
+++ b/modules/camera/src/vkcv/camera/CameraManager.cpp
@@ -20,6 +20,7 @@ namespace vkcv::camera {
 		m_window.e_mouseScroll.remove(m_mouseScrollHandle);
 		m_window.e_mouseButton.remove(m_mouseButtonHandle);
 		m_window.e_resize.remove(m_resizeHandle);
+		m_window.e_gamepad.remove(m_gamepadHandle);
     }
 
     void CameraManager::bindCameraToEvents() {
diff --git a/src/vkcv/Window.cpp b/src/vkcv/Window.cpp
index 36c10565..bca20744 100644
--- a/src/vkcv/Window.cpp
+++ b/src/vkcv/Window.cpp
@@ -119,7 +119,8 @@ namespace vkcv {
 
     void Window::onGamepadEvent(int gamepadIndex) {
         auto window = static_cast<Window *>(glfwGetJoystickUserPointer(gamepadIndex));
-        if (glfwJoystickPresent(gamepadIndex)) {
+
+        if ( window != nullptr && glfwJoystickPresent(gamepadIndex)) {
             window->e_gamepad(gamepadIndex);
         }
     }
-- 
GitLab