Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package qt6-webchannel for openSUSE:Factory checked in at 2026-05-28 17:25:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qt6-webchannel (Old) and /work/SRC/openSUSE:Factory/.qt6-webchannel.new.1937 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-webchannel" Thu May 28 17:25:27 2026 rev:36 rq:1355448 version:6.11.1 Changes: -------- --- /work/SRC/openSUSE:Factory/qt6-webchannel/qt6-webchannel.changes 2026-03-28 20:13:30.673819504 +0100 +++ /work/SRC/openSUSE:Factory/.qt6-webchannel.new.1937/qt6-webchannel.changes 2026-05-28 17:26:34.966833851 +0200 @@ -1,0 +2,6 @@ +Thu May 14 14:56:15 UTC 2026 - Christophe Marin <[email protected]> + +- Update to 6.11.1 + https://www.qt.io/blog/qt-6.11.1-released + +------------------------------------------------------------------- Old: ---- qtwebchannel-everywhere-src-6.11.0.tar.xz New: ---- qtwebchannel-everywhere-src-6.11.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qt6-webchannel.spec ++++++ --- /var/tmp/diff_new_pack.Dg8mDo/_old 2026-05-28 17:26:35.994876405 +0200 +++ /var/tmp/diff_new_pack.Dg8mDo/_new 2026-05-28 17:26:35.994876405 +0200 @@ -16,7 +16,7 @@ # -%define real_version 6.11.0 +%define real_version 6.11.1 %define short_version 6.11 %define tar_name qtwebchannel-everywhere-src %define tar_suffix %{nil} @@ -27,7 +27,7 @@ %endif # Name: qt6-webchannel%{?pkg_suffix} -Version: 6.11.0 +Version: 6.11.1 Release: 0 Summary: Qt 6 WebChannel library License: GPL-2.0-only OR LGPL-3.0-only OR GPL-3.0-only ++++++ qtwebchannel-everywhere-src-6.11.0.tar.xz -> qtwebchannel-everywhere-src-6.11.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwebchannel-everywhere-src-6.11.0/.cmake.conf new/qtwebchannel-everywhere-src-6.11.1/.cmake.conf --- old/qtwebchannel-everywhere-src-6.11.0/.cmake.conf 2026-03-10 06:38:59.000000000 +0100 +++ new/qtwebchannel-everywhere-src-6.11.1/.cmake.conf 2026-05-08 04:06:37.000000000 +0200 @@ -1,4 +1,4 @@ -set(QT_REPO_MODULE_VERSION "6.11.0") +set(QT_REPO_MODULE_VERSION "6.11.1") set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1") set(QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_NO_FOREACH=1" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwebchannel-everywhere-src-6.11.0/.tag new/qtwebchannel-everywhere-src-6.11.1/.tag --- old/qtwebchannel-everywhere-src-6.11.0/.tag 2026-03-10 06:38:59.000000000 +0100 +++ new/qtwebchannel-everywhere-src-6.11.1/.tag 2026-05-08 04:06:37.000000000 +0200 @@ -1 +1 @@ -71609dbea86e08e4e93ea711c567184d8b0da54e +0c4b668118b29bbf59c9f05bfe147ff67bea9e63 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwebchannel-everywhere-src-6.11.0/dependencies.yaml new/qtwebchannel-everywhere-src-6.11.1/dependencies.yaml --- old/qtwebchannel-everywhere-src-6.11.0/dependencies.yaml 2026-03-10 06:38:59.000000000 +0100 +++ new/qtwebchannel-everywhere-src-6.11.1/dependencies.yaml 2026-05-08 04:06:37.000000000 +0200 @@ -1,10 +1,10 @@ dependencies: ../qtbase: - ref: 8ba7ea4b77a4b8f1948760221e264917ddc9e1c8 + ref: 59c81a3c2247b821b9b84b4eb8d939b77e07e276 required: true ../qtdeclarative: - ref: e602a097ca314e9610b1fd3b7dbfa467a868731a + ref: a02bed441965ee1f18f856352c7d5ee5ba35d795 required: false ../qtwebsockets: - ref: 882f182c8bb5d249ecd97601557ab0e671bdf520 + ref: 451920600d7f0b8a4b458bba56a2dd303e587026 required: false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwebchannel-everywhere-src-6.11.0/src/webchannel/signalhandler_p.h new/qtwebchannel-everywhere-src-6.11.1/src/webchannel/signalhandler_p.h --- old/qtwebchannel-everywhere-src-6.11.0/src/webchannel/signalhandler_p.h 2026-03-10 06:38:59.000000000 +0100 +++ new/qtwebchannel-everywhere-src-6.11.1/src/webchannel/signalhandler_p.h 2026-05-08 04:06:37.000000000 +0200 @@ -64,11 +64,6 @@ int qt_metacall(QMetaObject::Call call, int methodId, void **args) override; /** - * Reset all connections, useful for benchmarks. - */ - void clear(); - - /** * Fully remove and disconnect an object from handler */ void remove(const QObject *object); @@ -156,7 +151,7 @@ qWarning() << "SignalHandler: QMetaObject::connect returned false. Unable to connect to" << object << signal.name() << signal.methodSignature(); return; } - connectionCounter.first = connection; + connectionCounter.first = std::move(connection); connectionCounter.second = 1; setupSignalArgumentTypes(metaObject, signal); @@ -248,27 +243,9 @@ } template<class Receiver> -void SignalHandler<Receiver>::clear() -{ - // "consume loop": disconnectNotify() calls unknown code - const auto oldConnectionsCounter = std::exchange(m_connectionsCounter, {}); - for (const SignalConnectionHash &connections : oldConnectionsCounter) { - for (const ConnectionPair &connection : connections) - QObject::disconnect(connection.first); - } - const SignalArgumentHash keep = m_signalArgumentTypes.take(&QObject::staticMetaObject); - m_signalArgumentTypes.clear(); - m_signalArgumentTypes[&QObject::staticMetaObject] = keep; -} - -template<class Receiver> void SignalHandler<Receiver>::remove(const QObject *object) { - auto it = m_connectionsCounter.find(object); - Q_ASSERT(it != m_connectionsCounter.cend()); - const SignalConnectionHash connections = std::move(it.value()); - m_connectionsCounter.erase(it); - for (const ConnectionPair &connection : connections) + for (ConnectionPair &connection : m_connectionsCounter.take(object)) QObject::disconnect(connection.first); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwebchannel-everywhere-src-6.11.0/src/webchannelquick/CMakeLists.txt new/qtwebchannel-everywhere-src-6.11.1/src/webchannelquick/CMakeLists.txt --- old/qtwebchannel-everywhere-src-6.11.0/src/webchannelquick/CMakeLists.txt 2026-03-10 06:38:59.000000000 +0100 +++ new/qtwebchannel-everywhere-src-6.11.1/src/webchannelquick/CMakeLists.txt 2026-05-08 04:06:37.000000000 +0200 @@ -9,8 +9,6 @@ qqmlwebchannel.h qqmlwebchannel.cpp qqmlwebchannelattached_p.h qqmlwebchannelattached.cpp qwebchannelquickglobal.h - NO_PCH_SOURCES - qqmlwebchannel.cpp # undef QT_NO_FOREACH DEFINES QT_NO_CONTEXTLESS_CONNECT LIBRARIES diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwebchannel-everywhere-src-6.11.0/src/webchannelquick/qqmlwebchannel.cpp new/qtwebchannel-everywhere-src-6.11.1/src/webchannelquick/qqmlwebchannel.cpp --- old/qtwebchannel-everywhere-src-6.11.0/src/webchannelquick/qqmlwebchannel.cpp 2026-03-10 06:38:59.000000000 +0100 +++ new/qtwebchannel-everywhere-src-6.11.1/src/webchannelquick/qqmlwebchannel.cpp 2026-05-08 04:06:37.000000000 +0200 @@ -3,8 +3,6 @@ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only // Qt-Security score:significant reason:default -#undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses - #include "qqmlwebchannel.h" #include <QtWebChannel/qwebchannelabstracttransport.h> #include <QtWebChannel/private/qwebchannel_p.h> @@ -233,10 +231,9 @@ void QQmlWebChannel::registeredObjects_clear(QQmlListProperty<QObject> *prop) { QQmlWebChannel *channel = static_cast<QQmlWebChannel *>(prop->object); - foreach (QObject *object, channel->d_func()->registeredObjects) { + const auto moved = std::exchange(channel->d_func()->registeredObjects, {}); // precautionary + for (QObject *object : moved) channel->deregisterObject(object); - } - return channel->d_func()->registeredObjects.clear(); } /*! @@ -273,9 +270,12 @@ void QQmlWebChannel::transports_clear(QQmlListProperty<QObject> *prop) { QWebChannel *channel = static_cast<QWebChannel *>(prop->object); - foreach (QWebChannelAbstractTransport *transport, channel->d_func()->transports) { + // Need to take a copy (incl. forced detach :(): + // - disconnectFrom() modifies `transport`, and + // - if we were to use a consume loop, disconnectFrom() wouldn't actually disconnect + const auto copy = channel->d_func()->transports; + for (QWebChannelAbstractTransport *transport : copy) channel->disconnectFrom(transport); - } Q_ASSERT(channel->d_func()->transports.isEmpty()); }
