summaryrefslogtreecommitdiffstats
path: root/deps/qt5/patches/qt5.qtbug-49061.patch
diff options
context:
space:
mode:
Diffstat (limited to 'deps/qt5/patches/qt5.qtbug-49061.patch')
-rw-r--r--deps/qt5/patches/qt5.qtbug-49061.patch80
1 files changed, 0 insertions, 80 deletions
diff --git a/deps/qt5/patches/qt5.qtbug-49061.patch b/deps/qt5/patches/qt5.qtbug-49061.patch
deleted file mode 100644
index d006edb..0000000
--- a/deps/qt5/patches/qt5.qtbug-49061.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-#
-# https://github.com/qt/qtbase/commit/494376f9.patch
-#
-From 494376f980e96339b6f1eff7c41336ca4d853065 Mon Sep 17 00:00:00 2001
-From: Thiago Macieira <thiago.macieira@intel.com>
-Date: Thu, 12 Nov 2015 10:14:51 -0800
-Subject: [PATCH] Stop unloading plugins in QPluginLoader and QFactoryLoader
-
-QPluginLoader hasn't unloaded in its destructor since Qt 5.0, but we
-missed the equivalent code in QFactoryLoader (which bypasses
-QPluginLoader). Besides, QPluginLoader::unload() was still doing
-unloading, which it won't anymore.
-
-Not unloading plugins is Qt's policy, as decided during the 5.0
-development process and reaffirmed now in 5.6. This is due to static
-data in plugins leaking out and remaining in use past the unloading of
-the plugin, causing crashes.
-
-This does not affect QLibrary and QLibrary::unload(). Those are meant
-for non-Qt loadable modules, so unloading them may be safe.
-
-Task-number: QTBUG-49061
-Discussed-on: http://lists.qt-project.org/pipermail/development/2015-November/023681.html
-Change-Id: I461e9fc7199748faa187ffff1416070f138df8db
-Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
-Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
----
- src/corelib/plugin/qfactoryloader.cpp | 6 ++++--
- src/corelib/plugin/qpluginloader.cpp | 5 +++--
- 2 files changed, 7 insertions(+), 4 deletions(-)
-
-diff --git a/src/corelib/plugin/qfactoryloader.cpp b/src/corelib/plugin/qfactoryloader.cpp
-index 53b38c3..c820d53 100644
---- a/src/corelib/plugin/qfactoryloader.cpp
-+++ b/src/corelib/plugin/qfactoryloader.cpp
-@@ -203,10 +203,12 @@ void QFactoryLoader::update()
- ++keyUsageCount;
- }
- }
-- if (keyUsageCount || keys.isEmpty())
-+ if (keyUsageCount || keys.isEmpty()) {
-+ library->setLoadHints(QLibrary::PreventUnloadHint); // once loaded, don't unload
- d->libraryList += library;
-- else
-+ } else {
- library->release();
-+ }
- }
- }
- #else
-diff --git a/src/corelib/plugin/qpluginloader.cpp b/src/corelib/plugin/qpluginloader.cpp
-index 62067c7..4752f69 100644
---- a/src/corelib/plugin/qpluginloader.cpp
-+++ b/src/corelib/plugin/qpluginloader.cpp
-@@ -154,6 +154,7 @@ QPluginLoader::QPluginLoader(const QString &fileName, QObject *parent)
- : QObject(parent), d(0), did_load(false)
- {
- setFileName(fileName);
-+ setLoadHints(QLibrary::PreventUnloadHint);
- }
-
- /*!
-@@ -348,7 +349,7 @@ static QString locatePlugin(const QString& fileName)
- void QPluginLoader::setFileName(const QString &fileName)
- {
- #if defined(QT_SHARED)
-- QLibrary::LoadHints lh;
-+ QLibrary::LoadHints lh = QLibrary::PreventUnloadHint;
- if (d) {
- lh = d->loadHints();
- d->release();
-@@ -394,7 +395,7 @@ QString QPluginLoader::errorString() const
- \brief Give the load() function some hints on how it should behave.
-
- You can give hints on how the symbols in the plugin are
-- resolved. By default, none of the hints are set.
-+ resolved. By default since Qt 5.7, QLibrary::PreventUnloadHint is set.
-
- See the documentation of QLibrary::loadHints for a complete
- description of how this property works.