diff --git a/pkgs/development/libraries/qt-5/5.15/default.nix b/pkgs/development/libraries/qt-5/5.15/default.nix index 74d9b86f8290..b09c7af54a5b 100644 --- a/pkgs/development/libraries/qt-5/5.15/default.nix +++ b/pkgs/development/libraries/qt-5/5.15/default.nix @@ -46,7 +46,6 @@ let ./qtbase.patch.d/0009-qtbase-qtpluginpath.patch ./qtbase.patch.d/0010-qtbase-assert.patch ./qtbase.patch.d/0011-fix-header_module.patch - ./qtbase.patch.d/9999-backport-dbus-crash.patch ]; qtdeclarative = [ ./qtdeclarative.patch diff --git a/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/9999-backport-dbus-crash.patch b/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/9999-backport-dbus-crash.patch deleted file mode 100644 index e1aa0119aa2f..000000000000 --- a/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 -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 - Reviewed-by: Thiago Macieira - -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 diff --git a/pkgs/development/libraries/qt-5/5.15/srcs-generated.json b/pkgs/development/libraries/qt-5/5.15/srcs-generated.json index 3bd72a8ee5fa..817129349718 100644 --- a/pkgs/development/libraries/qt-5/5.15/srcs-generated.json +++ b/pkgs/development/libraries/qt-5/5.15/srcs-generated.json @@ -16,8 +16,8 @@ }, "qtbase": { "url": "https://invent.kde.org/qt/qt/qtbase.git", - "rev": "c672f8bffff5af90a40bad7e621eae4616b12a31", - "sha256": "1sp3igzxmh110zs27inq1mqm17ayxljhc3gpjk1cyyzbc92hhcz2" + "rev": "ea7a183732c17005f08ca14fd70cdd305c90396d", + "sha256": "0lblir4zcnxc2ix9frcsygkhfs5qx7xibpflapmi6d978jjfxjmx" }, "qtcharts": { "url": "https://invent.kde.org/qt/qt/qtcharts.git", @@ -61,8 +61,8 @@ }, "qtlocation": { "url": "https://invent.kde.org/qt/qt/qtlocation.git", - "rev": "b4c42e255ee0f04eec4cf5cde35398f3c303ddb9", - "sha256": "18d1y0pcx0a98f7129g5sv2m0rmxw031jb68kg60c9c0mk3whpq0" + "rev": "48a17e88fc1df5b6ae82a9787466226c830bcbf2", + "sha256": "0gn4zsf01xr0g8divixk2zpq97dnqs1cdc3q577ijczd2rcs6z4f" }, "qtlottie": { "url": "https://invent.kde.org/qt/qt/qtlottie.git",