summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
authormbelshe@google.com <mbelshe@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-07-31 17:59:08 +0000
committermbelshe@google.com <mbelshe@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-07-31 17:59:08 +0000
commitdc36e9c53d3760bbdc4253b786c4686f4cf7a3ea (patch)
treeff5c714996a34b02ee325d6fd8ed161bc32d433c /webkit
parent8b18340410905fbeee3a91cb9f0bc01aef993153 (diff)
downloadchromium_src-dc36e9c53d3760bbdc4253b786c4686f4cf7a3ea.zip
chromium_src-dc36e9c53d3760bbdc4253b786c4686f4cf7a3ea.tar.gz
chromium_src-dc36e9c53d3760bbdc4253b786c4686f4cf7a3ea.tar.bz2
Turns out this fix works pretty well; the failures remaining after this fix are not related to throttled messages.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r--webkit/glue/plugins/webplugin_delegate_impl.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/webkit/glue/plugins/webplugin_delegate_impl.cc b/webkit/glue/plugins/webplugin_delegate_impl.cc
index 774cad7..d5b5413 100644
--- a/webkit/glue/plugins/webplugin_delegate_impl.cc
+++ b/webkit/glue/plugins/webplugin_delegate_impl.cc
@@ -486,7 +486,11 @@ void WebPluginDelegateImpl::OnThrottleMessage() {
const MSG& msg = *it;
if (processed.find(msg.hwnd) == processed.end()) {
WNDPROC proc = reinterpret_cast<WNDPROC>(msg.time);
- CallWindowProc(proc, msg.hwnd, msg.message, msg.wParam, msg.lParam);
+ // It is possible that the window was closed after we queued
+ // this message. This is a rare event; just verify the window
+ // is alive. (see also bug 1259488)
+ if (IsWindow(msg.hwnd))
+ CallWindowProc(proc, msg.hwnd, msg.message, msg.wParam, msg.lParam);
processed[msg.hwnd] = 1;
it = throttle_queue_.erase(it);
windowless_queue.Decrement();