diff options
author | mpcomplete@google.com <mpcomplete@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-03-23 20:44:28 +0000 |
---|---|---|
committer | mpcomplete@google.com <mpcomplete@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-03-23 20:44:28 +0000 |
commit | e644175f2c482f2b074fa93a147eacffe3037f9f (patch) | |
tree | 5e3e640a8e2c0d5e1027b1b1e5595da751250373 /chrome/plugin | |
parent | a1a02aefbafa6fc7c6b881b4bb3d7611c3d60c9c (diff) | |
download | chromium_src-e644175f2c482f2b074fa93a147eacffe3037f9f.zip chromium_src-e644175f2c482f2b074fa93a147eacffe3037f9f.tar.gz chromium_src-e644175f2c482f2b074fa93a147eacffe3037f9f.tar.bz2 |
Fix a plugin crash due to ResourceDispatcher being used after it was deleted
in PluginThread::CleanUp.
BUG=8980
Review URL: http://codereview.chromium.org/50075
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12307 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/plugin')
-rw-r--r-- | chrome/plugin/plugin_thread.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/chrome/plugin/plugin_thread.cc b/chrome/plugin/plugin_thread.cc index 4524335..5f26f71 100644 --- a/chrome/plugin/plugin_thread.cc +++ b/chrome/plugin/plugin_thread.cc @@ -69,7 +69,6 @@ void PluginThread::Init() { } void PluginThread::CleanUp() { - ChildThread::CleanUp(); if (preloaded_plugin_module_) { FreeLibrary(preloaded_plugin_module_); preloaded_plugin_module_ = NULL; @@ -82,6 +81,11 @@ void PluginThread::CleanUp() { if (webkit_glue::ShouldForcefullyTerminatePluginProcess()) TerminateProcess(GetCurrentProcess(), 0); + + // Call this last because it deletes the ResourceDispatcher, which is used + // in some of the above cleanup. + // See http://code.google.com/p/chromium/issues/detail?id=8980 + ChildThread::CleanUp(); } void PluginThread::OnCreateChannel() { |