Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kf6-attica for openSUSE:Factory checked in at 2026-03-16 14:15:14 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kf6-attica (Old) and /work/SRC/openSUSE:Factory/.kf6-attica.new.8177 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kf6-attica" Mon Mar 16 14:15:14 2026 rev:25 rq:1338889 version:6.24.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kf6-attica/kf6-attica.changes 2026-02-16 13:00:17.363448129 +0100 +++ /work/SRC/openSUSE:Factory/.kf6-attica.new.8177/kf6-attica.changes 2026-03-16 14:15:15.260095721 +0100 @@ -1,0 +2,14 @@ +Mon Mar 9 08:07:23 UTC 2026 - Christophe Marin <[email protected]> + +- Update to 6.24.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/frameworks/6/6.24.0 +- Changes since 6.23.0: + * Update dependency version to 6.24.0 + * QtPlatformDependent: hide static thread local var in accessor + * Delete QtPlatformDependent if needed + * QtPlatformDependent: Simplify NAM handling + * Update version to 6.24.0 + +------------------------------------------------------------------- Old: ---- attica-6.23.0.tar.xz attica-6.23.0.tar.xz.sig New: ---- attica-6.24.0.tar.xz attica-6.24.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kf6-attica.spec ++++++ --- /var/tmp/diff_new_pack.vKinSp/_old 2026-03-16 14:15:16.044128226 +0100 +++ /var/tmp/diff_new_pack.vKinSp/_new 2026-03-16 14:15:16.048128391 +0100 @@ -19,11 +19,11 @@ %define qt6_version 6.8.0 %define rname attica -# Full KF6 version (e.g. 6.23.0) +# Full KF6 version (e.g. 6.24.0) %{!?_kf6_version: %global _kf6_version %{version}} %bcond_without released Name: kf6-attica -Version: 6.23.0 +Version: 6.24.0 Release: 0 Summary: Open Collaboration Service client library License: LGPL-2.1-or-later ++++++ attica-6.23.0.tar.xz -> attica-6.24.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/attica-6.23.0/CMakeLists.txt new/attica-6.24.0/CMakeLists.txt --- old/attica-6.23.0/CMakeLists.txt 2026-02-06 13:12:01.000000000 +0100 +++ new/attica-6.24.0/CMakeLists.txt 2026-03-07 21:28:45.000000000 +0100 @@ -1,11 +1,11 @@ cmake_minimum_required(VERSION 3.27) -set(KF_VERSION "6.23.0") # handled by release scripts +set(KF_VERSION "6.24.0") # handled by release scripts project(Attica VERSION ${KF_VERSION}) # ECM setup include(FeatureSummary) -find_package(ECM 6.23.0 NO_MODULE) +find_package(ECM 6.24.0 NO_MODULE) set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://commits.kde.org/extra-cmake-modules") feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/attica-6.23.0/src/providermanager.cpp new/attica-6.24.0/src/providermanager.cpp --- old/attica-6.23.0/src/providermanager.cpp 2026-02-06 13:12:01.000000000 +0100 +++ new/attica-6.24.0/src/providermanager.cpp 2026-03-07 21:28:45.000000000 +0100 @@ -47,6 +47,10 @@ ~Private() { // do not delete m_internals: it is the root component of a plugin! + // except when it's the fallback implementation, that is not loaded from a plugin + if (dynamic_cast<QtPlatformDependent *>(m_internals)) { + delete m_internals; + } } }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/attica-6.23.0/src/qtplatformdependent.cpp new/attica-6.24.0/src/qtplatformdependent.cpp --- old/attica-6.23.0/src/qtplatformdependent.cpp 2026-02-06 13:12:01.000000000 +0100 +++ new/attica-6.24.0/src/qtplatformdependent.cpp 2026-03-07 21:28:45.000000000 +0100 @@ -18,63 +18,17 @@ QtPlatformDependent::QtPlatformDependent() { - m_threadNamHash[QThread::currentThread()] = new QNetworkAccessManager(); - m_ourNamSet.insert(QThread::currentThread()); QMetaObject::invokeMethod(this, &QtPlatformDependent::readyChanged, Qt::QueuedConnection); } QtPlatformDependent::~QtPlatformDependent() { - QThread *currThread = QThread::currentThread(); - if (m_threadNamHash.contains(currThread)) { - if (m_ourNamSet.contains(currThread)) { - delete m_threadNamHash[currThread]; - } - m_threadNamHash.remove(currThread); - m_ourNamSet.remove(currThread); - } -} - -void QtPlatformDependent::setNam(QNetworkAccessManager *nam) -{ - if (!nam) { - return; - } - - QMutexLocker l(&m_accessMutex); - QThread *currThread = QThread::currentThread(); - QNetworkAccessManager *oldNam = nullptr; - if (m_threadNamHash.contains(currThread) && m_ourNamSet.contains(currThread)) { - oldNam = m_threadNamHash[currThread]; - } - - if (oldNam == nam) { - // If we're being passed back our own NAM, assume they want to - // ensure that we don't delete it out from under them - m_ourNamSet.remove(currThread); - return; - } - - m_threadNamHash[currThread] = nam; - m_ourNamSet.remove(currThread); - - if (oldNam) { - delete oldNam; - } } QNetworkAccessManager *QtPlatformDependent::nam() { - QMutexLocker l(&m_accessMutex); - QThread *currThread = QThread::currentThread(); - if (!m_threadNamHash.contains(currThread)) { - QNetworkAccessManager *newNam = new QNetworkAccessManager(); - m_threadNamHash[currThread] = newNam; - m_ourNamSet.insert(currThread); - return newNam; - } - - return m_threadNamHash[currThread]; + static thread_local QNetworkAccessManager threadLocalManager; + return &threadLocalManager; } // TODO actually save and restore providers! diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/attica-6.23.0/src/qtplatformdependent_p.h new/attica-6.24.0/src/qtplatformdependent_p.h --- old/attica-6.23.0/src/qtplatformdependent_p.h 2026-02-06 13:12:01.000000000 +0100 +++ new/attica-6.24.0/src/qtplatformdependent_p.h 2026-03-07 21:28:45.000000000 +0100 @@ -27,7 +27,6 @@ QtPlatformDependent(); ~QtPlatformDependent() override; - void setNam(QNetworkAccessManager *nam) override; QNetworkAccessManager *nam() override; QList<QUrl> getDefaultProviderFiles() const override; @@ -50,8 +49,6 @@ private: QMutex m_accessMutex; - QHash<QThread *, QNetworkAccessManager *> m_threadNamHash; - QSet<QThread *> m_ourNamSet; QHash<QString, QPair<QString, QString>> m_passwords; };
