summaryrefslogtreecommitdiffstats
path: root/chrome/plugin
diff options
context:
space:
mode:
authormpcomplete@google.com <mpcomplete@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-23 20:44:28 +0000
committermpcomplete@google.com <mpcomplete@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-23 20:44:28 +0000
commite644175f2c482f2b074fa93a147eacffe3037f9f (patch)
tree5e3e640a8e2c0d5e1027b1b1e5595da751250373 /chrome/plugin
parenta1a02aefbafa6fc7c6b881b4bb3d7611c3d60c9c (diff)
downloadchromium_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.cc6
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() {