diff options
author | David Faure <faure@kde.org> | 2013-03-04 14:11:29 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-03-18 12:39:39 +0100 |
commit | 4563d97afb3219db1ab779f5a4e7c60a838e6445 (patch) | |
tree | 453eb41767cc41fd7d61f53fce846273d7f8a500 /Source/WebCore/plugins | |
parent | dca750df99fc3ccb7d108b4a63d61e952a680203 (diff) | |
download | qtwebkit-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.cpp | 9 |
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; + } } |