From cf5b9da45ee25b9feff09637a8b96dc8f60f312e Mon Sep 17 00:00:00 2001 From: WerWolv Date: Sun, 17 Aug 2025 20:21:36 +0200 Subject: [PATCH] fix: Disable focus handling on the web version since the GLFW_FOCUSED attribute doesn't work --- main/gui/source/window/window.cpp | 32 ++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/main/gui/source/window/window.cpp b/main/gui/source/window/window.cpp index 6c0578bc6..e661aab27 100644 --- a/main/gui/source/window/window.cpp +++ b/main/gui/source/window/window.cpp @@ -380,25 +380,27 @@ namespace hex { ImHexApi::Fonts::getDefaultFont().push(); io.FontDefault = ImHexApi::Fonts::getDefaultFont(); - { - static bool lastAnyWindowFocused = false; - bool anyWindowFocused = glfwGetWindowAttrib(m_window, GLFW_FOCUSED); + #if !defined(OS_WEB) + { + static bool lastAnyWindowFocused = false; + bool anyWindowFocused = glfwGetWindowAttrib(m_window, GLFW_FOCUSED); - if (!anyWindowFocused) { - const auto platformIo = ImGui::GetPlatformIO(); - for (auto *viewport : platformIo.Viewports) { - if (platformIo.Platform_GetWindowFocus(viewport)) { - anyWindowFocused = true; - break; + if (!anyWindowFocused) { + const auto platformIo = ImGui::GetPlatformIO(); + for (auto *viewport : platformIo.Viewports) { + if (platformIo.Platform_GetWindowFocus(viewport)) { + anyWindowFocused = true; + break; + } } } + + if (lastAnyWindowFocused != anyWindowFocused) + EventWindowFocused::post(anyWindowFocused); + + lastAnyWindowFocused = anyWindowFocused; } - - if (lastAnyWindowFocused != anyWindowFocused) - EventWindowFocused::post(anyWindowFocused); - - lastAnyWindowFocused = anyWindowFocused; - } + #endif // Start new ImGui Frame ImGui_ImplOpenGL3_NewFrame();