OSDN Git Service

Fix Firefox crashes on showing a move in full screen
authorKazuhiro Fujieda <fujieda@users.sourceforge.jp>
Thu, 11 May 2017 15:02:30 +0000 (00:02 +0900)
committerKazuhiro Fujieda <fujieda@users.sourceforge.jp>
Fri, 12 May 2017 10:21:41 +0000 (19:21 +0900)
Since 78e2c1c, CallWndProc updates the current hook state on every
WM_SETFOCUS for IE10 or later. Firefox crushes by this on expanding a
movie to full screen. This fix makes CallWndProc update the state only
on foreground windows or IE tabs.

xkeymacsdll/xkeymacsdll.cpp

index 5fbe565..45ddeab 100644 (file)
@@ -260,8 +260,10 @@ LRESULT CALLBACK CXkeymacsDll::CallWndProc(int nCode, WPARAM wParam, LPARAM lPar
                        SetIMEState(false);\r
                        break;\r
                case WM_SETFOCUS:\r
-                       SetIMEState(false);\r
-                       ShowHookState();\r
+                       if (cwps->hwnd == GetForegroundWindow() || GetWindowLong(cwps->hwnd, GWL_STYLE) == 0x56000000) {\r
+                               SetIMEState(false);\r
+                               ShowHookState();\r
+                       }\r
                        break;\r
                case WM_NCACTIVATE:\r
                        if (cwps->wParam && cwps->hwnd == GetForegroundWindow()) {\r