summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--webkit/glue/plugins/webplugin_delegate_impl_mac.mm6
1 files changed, 6 insertions, 0 deletions
diff --git a/webkit/glue/plugins/webplugin_delegate_impl_mac.mm b/webkit/glue/plugins/webplugin_delegate_impl_mac.mm
index 36acd8b..eac5981 100644
--- a/webkit/glue/plugins/webplugin_delegate_impl_mac.mm
+++ b/webkit/glue/plugins/webplugin_delegate_impl_mac.mm
@@ -271,6 +271,12 @@ void WebPluginDelegateImpl::PlatformInitialize() {
UpdateIdleEventRate();
#endif
plugin_->SetWindow(NULL);
+
+ // QuickTime can crash if it gets other calls (e.g., NPP_Write) before it
+ // gets a SetWindow call, so call SetWindow (with a 0x0 rect) immediately.
+ const WebPluginInfo& plugin_info = instance_->plugin_lib()->plugin_info();
+ if (plugin_info.name.find(L"QuickTime") != std::wstring::npos)
+ WindowlessSetWindow(true);
}
void WebPluginDelegateImpl::PlatformDestroyInstance() {