summaryrefslogtreecommitdiff
path: root/Source/WebCore/plugins
diff options
context:
space:
mode:
authorDavid Faure <faure@kde.org>2013-03-04 14:11:29 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-03-18 12:39:39 +0100
commit4563d97afb3219db1ab779f5a4e7c60a838e6445 (patch)
tree453eb41767cc41fd7d61f53fce846273d7f8a500 /Source/WebCore/plugins
parentdca750df99fc3ccb7d108b4a63d61e952a680203 (diff)
downloadqtwebkit-4563d97afb3219db1ab779f5a4e7c60a838e6445.tar.gz
PluginPackage::freeLibraryTimerFired asserts if plugin got loaded again meanwhile
https://bugs.webkit.org/show_bug.cgi?id=106463 Patch by David Faure <faure@kde.org> on 2013-01-10 Reviewed by Simon Hausmann. No new tests, this code path will be tested by bug 106140. * plugins/PluginPackage.cpp: (WebCore::PluginPackage::freeLibraryTimerFired): skip unloading if loaded again meanwhile. Change-Id: I54d15e2f84083a36f879920859f5a5cd7034fd51 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139318 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: David Faure (KDE) <faure@kde.org>
Diffstat (limited to 'Source/WebCore/plugins')
-rw-r--r--Source/WebCore/plugins/PluginPackage.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/Source/WebCore/plugins/PluginPackage.cpp b/Source/WebCore/plugins/PluginPackage.cpp
index 592771914..d2b6f52f9 100644
--- a/Source/WebCore/plugins/PluginPackage.cpp
+++ b/Source/WebCore/plugins/PluginPackage.cpp
@@ -67,10 +67,11 @@ void PluginPackage::freeLibrarySoon()
void PluginPackage::freeLibraryTimerFired(Timer<PluginPackage>*)
{
ASSERT(m_module);
- ASSERT(!m_loadCount);
-
- unloadModule(m_module);
- m_module = 0;
+ // Do nothing if the module got loaded again meanwhile
+ if (!m_loadCount) {
+ unloadModule(m_module);
+ m_module = 0;
+ }
}