summaryrefslogtreecommitdiffstats
path: root/WebCore/page
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/page')
-rw-r--r--WebCore/page/Page.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/WebCore/page/Page.cpp b/WebCore/page/Page.cpp
index c7d3de1..7de1a09 100644
--- a/WebCore/page/Page.cpp
+++ b/WebCore/page/Page.cpp
@@ -393,7 +393,13 @@ void Page::refreshPlugins(bool reload)
HashSet<Page*>::iterator end = allPages->end();
for (HashSet<Page*>::iterator it = allPages->begin(); it != end; ++it) {
- (*it)->m_pluginData = 0;
+ Page* page = *it;
+
+ // Clear out the page's plug-in data.
+ if (page->m_pluginData) {
+ page->m_pluginData->disconnectPage();
+ page->m_pluginData = 0;
+ }
if (reload) {
for (Frame* frame = (*it)->mainFrame(); frame; frame = frame->tree()->traverseNext()) {