Bug 542337 - '[OOPP] hang in test_plugin_clipping2.xhtml' Followup fix, r=roc.
authorBen Turner <bent.mozilla@gmail.com>
Thu, 28 Jan 2010 12:23:07 -0800
changeset 46631 2e5f92d640fe1e9201117fba2aef245984dc360e
parent 46630 b3f9b762cab489e69dd7cda8716fd9280136f595
child 46632 4cdebce7020a1a7142845773278f78e9512240fc
push id1
push userroot
push dateMon, 20 Oct 2014 17:29:22 +0000
reviewersroc
bugs542337
milestone1.9.3a1pre
Bug 542337 - '[OOPP] hang in test_plugin_clipping2.xhtml' Followup fix, r=roc.
modules/plugin/base/src/nsPluginNativeWindowWin.cpp
--- a/modules/plugin/base/src/nsPluginNativeWindowWin.cpp
+++ b/modules/plugin/base/src/nsPluginNativeWindowWin.cpp
@@ -544,17 +544,20 @@ nsresult nsPluginNativeWindowWin::Subcla
   if (PluginWndProc == currentWndProc)
     return NS_OK;
 
   LONG style = GetWindowLongPtr(hWnd, GWL_STYLE);
 #ifdef MOZ_IPC
   // Out of process plugins must not have the WS_CLIPCHILDREN style set on their
   // parent windows or else synchronous paints (via UpdateWindow() and others)
   // will cause deadlocks.
-  style &= ~WS_CLIPCHILDREN;
+  if (::GetPropW(hWnd, L"PluginInstanceParentProperty"))
+    style &= ~WS_CLIPCHILDREN;
+  else
+    style |= WS_CLIPCHILDREN;
 #else
   style |= WS_CLIPCHILDREN;
 #endif
   SetWindowLongPtr(hWnd, GWL_STYLE, style);
 
   mPluginWinProc = SubclassWindow(hWnd, (LONG_PTR)PluginWndProc);
   if (!mPluginWinProc)
     return NS_ERROR_FAILURE;