diff --git a/include/window/window.h b/include/window/window.h index 5a01b87..95fedf0 100644 --- a/include/window/window.h +++ b/include/window/window.h @@ -19,12 +19,15 @@ private: int m_width; int m_height; + + bool m_is_open; public: Window(); ~Window(); public: [[nodiscard]] inline int GetWidth() const { return m_width; } [[nodiscard]] inline int GetHeight() const { return m_height; } + [[nodiscard]] inline bool IsOpen() const { return m_is_open; } public: void ProcessEvents(); public: diff --git a/src/renderer/engine.cpp b/src/renderer/engine.cpp index a223351..4f44b45 100644 --- a/src/renderer/engine.cpp +++ b/src/renderer/engine.cpp @@ -31,7 +31,7 @@ Engine::Engine() { } bool Engine::Running() const { - return m_isRunning; + return m_isRunning && m_window->IsOpen(); } void Engine::Stop() { diff --git a/src/window/window.cpp b/src/window/window.cpp index bc88977..b28e49f 100644 --- a/src/window/window.cpp +++ b/src/window/window.cpp @@ -61,6 +61,8 @@ Window::Window() { glDebugMessageCallback(MessageCallback, nullptr); glViewport(0, 0, m_width, m_height); + + m_is_open = true; } void Window::ProcessEvents() {