浏览代码

Emscripten: Fix Emscripten_GetFocusedWindow

Ensure a window is focused if the DOM is focused
Temdog007 3 天之前
父节点
当前提交
6711caa431
共有 1 个文件被更改,包括 10 次插入0 次删除
  1. 10 0
      src/video/emscripten/SDL_emscriptenevents.c

+ 10 - 0
src/video/emscripten/SDL_emscriptenevents.c

@@ -286,6 +286,16 @@ static SDL_Window *Emscripten_GetFocusedWindow(SDL_VideoDevice *device)
             break;
         }
     }
+    // If the DOM is focused, then at least one canvas in the DOM should be considered focused.
+    // So in this case, just assume that the first canvas is focused.
+    if (!window) {
+        const int focused = MAIN_THREAD_EM_ASM_INT({
+            return document.hasFocus();
+        });
+        if (focused) {
+            window = device->windows;
+        }
+    }
     return window;
 }