Bug 564260 - Fix for plugin hangs in [@ hang | KiFastSystemCallRet | NtUserSetFocus]. r=masayuki, a=clegnitto.
authorBenjamin Smedberg <benjamin@smedbergs.us>
Tue, 18 May 2010 15:51:50 -0500
changeset 34218 0aff61215cdb02c4a4f19a25234f35e3efb669ab
parent 34217 83a98299baca8e03f1f1299a0867888bd4fa0e73
child 34222 79600059813cd71847b5b954b100a88f94fd50c8
push id1334
push userjmathies@mozilla.com
push dateTue, 18 May 2010 20:55:29 +0000
reviewersmasayuki, clegnitto
bugs564260
milestone1.9.2.5pre
Bug 564260 - Fix for plugin hangs in [@ hang | KiFastSystemCallRet | NtUserSetFocus]. r=masayuki, a=clegnitto.
widget/src/windows/nsWindow.cpp
--- a/widget/src/windows/nsWindow.cpp
+++ b/widget/src/windows/nsWindow.cpp
@@ -3641,16 +3641,18 @@ nsWindow::IPCWindowProcHandler(UINT& msg
     case WM_SETFOCUS:
     case WM_KILLFOCUS:
     // Windowed plugins that pass sys key events to defwndproc generate
     // WM_SYSCOMMAND events to the main window.
     case WM_SYSCOMMAND:
     // Windowed plugins that fire context menu selection events to parent
     // windows.
     case WM_CONTEXTMENU:
+    // IME events fired as a result of synchronous focus changes
+    case WM_IME_SETCONTEXT:
       handled = PR_TRUE;
     break;
   }
 
   if (handled &&
       (InSendMessageEx(NULL)&(ISMEX_REPLIED|ISMEX_SEND)) == ISMEX_SEND) {
     ReplyMessage(dwResult);
   }