diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/9999-backport-dbus-crash.patch')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/9999-backport-dbus-crash.patch | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/9999-backport-dbus-crash.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/9999-backport-dbus-crash.patch deleted file mode 100644 index e1aa0119aa2f..000000000000 --- a/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/9999-backport-dbus-crash.patch +++ /dev/null @@ -1,79 +0,0 @@ -commit eb0c6846a5d05d686f0686f0f1ddddcad762ad26 (HEAD -> kde/5.15) -Author: K900 <me@0upti.me> -Date: Mon Aug 14 22:44:02 2023 +0300 - - QLibraryPrivate: Actually merge load hints - - Or old and new load hints in mergeLoadHints() instead of just storing - new ones. Andjust QLibraryPrivate::setLoadHints() to handle objects - with no file name differently and just set load hints directly. - - Mention that load hints are merged once the file name is set - in the documentation for QLibrary::setLoadHints(). - - Add a regression test into tst_qfactoryloader. - - Update and extend tst_QPluginLoader::loadHints() to take into account - load hints merging. - - Fixes: QTBUG-114480 - Change-Id: I3b9afaec7acde1f5ff992d913f8d7217392c7e00 - Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> - Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> - -diff --git a/src/corelib/plugin/qlibrary.cpp b/src/corelib/plugin/qlibrary.cpp -index 5d2f024267..45b5a3fe27 100644 ---- a/src/corelib/plugin/qlibrary.cpp -+++ b/src/corelib/plugin/qlibrary.cpp -@@ -526,7 +526,7 @@ void QLibraryPrivate::mergeLoadHints(QLibrary::LoadHints lh) - if (pHnd.loadRelaxed()) - return; - -- loadHintsInt.storeRelaxed(lh); -+ loadHintsInt.fetchAndOrRelaxed(lh); - } - - QFunctionPointer QLibraryPrivate::resolve(const char *symbol) -@@ -538,6 +538,13 @@ QFunctionPointer QLibraryPrivate::resolve(const char *symbol) - - void QLibraryPrivate::setLoadHints(QLibrary::LoadHints lh) - { -+ // Set the load hints directly for a dummy if this object is not associated -+ // with a file. Such object is not shared between multiple instances. -+ if (fileName.isEmpty()) { -+ loadHintsInt.storeRelaxed(lh); -+ return; -+ } -+ - // this locks a global mutex - QMutexLocker lock(&qt_library_mutex); - mergeLoadHints(lh); -@@ -1166,6 +1173,10 @@ QString QLibrary::errorString() const - lazy symbol resolution, and will not export external symbols for resolution - in other dynamically-loaded libraries. - -+ \note Hints can only be cleared when this object is not associated with a -+ file. Hints can only be added once the file name is set (\a hints will -+ be or'ed with the old hints). -+ - \note Setting this property after the library has been loaded has no effect - and loadHints() will not reflect those changes. - -diff --git a/src/corelib/plugin/qpluginloader.cpp b/src/corelib/plugin/qpluginloader.cpp -index 0a63b93762..ceee5d6385 100644 ---- a/src/corelib/plugin/qpluginloader.cpp -+++ b/src/corelib/plugin/qpluginloader.cpp -@@ -414,10 +414,11 @@ QString QPluginLoader::errorString() const - void QPluginLoader::setLoadHints(QLibrary::LoadHints loadHints) - { - if (!d) { -- d = QLibraryPrivate::findOrCreate(QString()); // ugly, but we need a d-ptr -+ d = QLibraryPrivate::findOrCreate({}, {}, loadHints); // ugly, but we need a d-ptr - d->errorString.clear(); -+ } else { -+ d->setLoadHints(loadHints); - } -- d->setLoadHints(loadHints); - } - - QLibrary::LoadHints QPluginLoader::loadHints() const |