Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package plasma6-activities for 
openSUSE:Factory checked in at 2025-10-29 21:05:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/plasma6-activities (Old)
 and      /work/SRC/openSUSE:Factory/.plasma6-activities.new.1980 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "plasma6-activities"

Wed Oct 29 21:05:04 2025 rev:31 rq:1314172 version:6.5.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/plasma6-activities/plasma6-activities.changes    
2025-10-22 12:13:32.736478011 +0200
+++ 
/work/SRC/openSUSE:Factory/.plasma6-activities.new.1980/plasma6-activities.changes
  2025-10-29 21:05:50.148555676 +0100
@@ -1,0 +2,10 @@
+Tue Oct 28 11:51:32 UTC 2025 - Fabian Vogt <[email protected]>
+
+- Update to 6.5.1:
+  * New bugfix release
+  * For more details see https://kde.org/announcements/plasma/6/6.5.1
+- Changes since 6.5.0:
+  * Update version for new release 6.5.1
+  * Revert "fix: replace continue_with with QFuture::then"
+
+-------------------------------------------------------------------

Old:
----
  plasma-activities-6.5.0.tar.xz
  plasma-activities-6.5.0.tar.xz.sig

New:
----
  plasma-activities-6.5.1.tar.xz
  plasma-activities-6.5.1.tar.xz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ plasma6-activities.spec ++++++
--- /var/tmp/diff_new_pack.F05psI/_old  2025-10-29 21:05:51.556614875 +0100
+++ /var/tmp/diff_new_pack.F05psI/_new  2025-10-29 21:05:51.564615211 +0100
@@ -23,14 +23,14 @@
 %define rname plasma-activities
 %bcond_without released
 Name:           plasma6-activities
-Version:        6.5.0
+Version:        6.5.1
 Release:        0
 Summary:        Plasma Activities support
 License:        GPL-2.0-or-later
 URL:            https://www.kde.org
-Source:         %{rname}-%{version}.tar.xz
+Source:         
https://download.kde.org/stable/plasma/%{version}/%{rname}-%{version}.tar.xz
 %if %{with released}
-Source1:        %{rname}-%{version}.tar.xz.sig
+Source1:        
https://download.kde.org/stable/plasma/%{version}/%{rname}-%{version}.tar.xz.sig
 Source2:        plasma.keyring
 %endif
 BuildRequires:  doxygen

++++++ plasma-activities-6.5.0.tar.xz -> plasma-activities-6.5.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/plasma-activities-6.5.0/CMakeLists.txt 
new/plasma-activities-6.5.1/CMakeLists.txt
--- old/plasma-activities-6.5.0/CMakeLists.txt  2025-10-16 11:08:00.000000000 
+0200
+++ new/plasma-activities-6.5.1/CMakeLists.txt  2025-10-28 10:20:53.000000000 
+0100
@@ -1,7 +1,7 @@
 # vim:set softtabstop=3 shiftwidth=3 tabstop=3 expandtab:
 cmake_minimum_required(VERSION 3.16)
 
-set(PROJECT_VERSION "6.5.0")
+set(PROJECT_VERSION "6.5.1")
 project(PlasmaActivities VERSION ${PROJECT_VERSION})
 
 set(QT_MIN_VERSION "6.9.0")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plasma-activities-6.5.0/src/imports/activitymodel.cpp 
new/plasma-activities-6.5.1/src/imports/activitymodel.cpp
--- old/plasma-activities-6.5.0/src/imports/activitymodel.cpp   2025-10-16 
11:08:00.000000000 +0200
+++ new/plasma-activities-6.5.1/src/imports/activitymodel.cpp   2025-10-28 
10:20:53.000000000 +0100
@@ -26,8 +26,12 @@
 #include <optional>
 
 // Local
+#define ENABLE_QJSVALUE_CONTINUATION
+#include "utils/continue_with.h"
 #include "utils/model_updaters.h"
 
+using kamd::utils::continue_with;
+
 namespace KActivities
 {
 namespace Imports
@@ -473,9 +477,7 @@
     void ActivityModel::setActivity##What(                                     
\
         const QString &id, const QString &value, const QJSValue &callback)     
\
     {                                                                          
\
-        m_service.setActivity##What(id, value).then([=]() {                    
\
-            callback.call({});                                                 
\
-        });                                                                    
\
+        continue_with(m_service.setActivity##What(id, value), callback);       
\
     }
 // clang-format on
 
@@ -488,25 +490,19 @@
 // QFuture<bool> Controller::setCurrentActivity(id)
 void ActivityModel::setCurrentActivity(const QString &id, const QJSValue 
&callback)
 {
-    m_service.setCurrentActivity(id).then([=](bool successful) {
-        callback.call({successful});
-    });
+    continue_with(m_service.setCurrentActivity(id), callback);
 }
 
 // QFuture<QString> Controller::addActivity(name)
 void ActivityModel::addActivity(const QString &name, const QJSValue &callback)
 {
-    m_service.addActivity(name).then([=](const QString &activityId) {
-        callback.call({activityId});
-    });
+    continue_with(m_service.addActivity(name), callback);
 }
 
 // QFuture<void> Controller::removeActivity(id)
 void ActivityModel::removeActivity(const QString &id, const QJSValue &callback)
 {
-    m_service.removeActivity(id).then([=]() {
-        callback.call({});
-    });
+    continue_with(m_service.removeActivity(id), callback);
 }
 
 } // namespace Imports
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/plasma-activities-6.5.0/src/lib/manager_p.cpp 
new/plasma-activities-6.5.1/src/lib/manager_p.cpp
--- old/plasma-activities-6.5.0/src/lib/manager_p.cpp   2025-10-16 
11:08:00.000000000 +0200
+++ new/plasma-activities-6.5.1/src/lib/manager_p.cpp   2025-10-28 
10:20:53.000000000 +0100
@@ -7,6 +7,7 @@
 #include "manager_p.h"
 
 #include <mutex>
+#include <optional>
 
 #include <QCoreApplication>
 #include <QDBusConnection>
@@ -17,6 +18,7 @@
 #include "mainthreadexecutor_p.h"
 
 #include "common/dbus/common.h"
+#include "utils/continue_with.h"
 #include "utils/dbusfuture_p.h"
 #include "version.h"
 
@@ -90,7 +92,6 @@
 void Manager::serviceOwnerChanged(const QString &serviceName, const QString 
&oldOwner, const QString &newOwner)
 {
     Q_UNUSED(oldOwner);
-    Q_UNUSED(newOwner);
 
     if (serviceName == KAMD_DBUS_SERVICE) {
         const bool isRunning = 
QDBusConnection::sessionBus().interface()->isServiceRegistered(KAMD_DBUS_SERVICE);
@@ -98,10 +99,19 @@
         Q_EMIT serviceStatusChanged(m_serviceStatus);
 
         if (isRunning) {
-            DBusFuture::fromReply(m_service->serviceVersion()).then([](const 
QString &serviceVersion) {
+            using namespace kamd::utils;
+
+            continue_with(DBusFuture::fromReply(m_service->serviceVersion()), 
[this](const std::optional<QString> &serviceVersion) {
                 // Test whether the service is older than the library.
                 // If it is, we need to end this
-                auto split = serviceVersion.split(QLatin1Char('.'));
+
+                if (!serviceVersion.has_value()) {
+                    qWarning() << "KActivities: FATAL ERROR: Failed to contact 
the activity manager daemon";
+                    m_serviceStatus = NotRunning;
+                    return;
+                }
+
+                auto split = serviceVersion->split(QLatin1Char('.'));
                 QList<int> version;
 
                 // We require kactivitymanagerd version to be at least the
@@ -117,7 +127,7 @@
                     QString libraryVersion = 
QString::number(requiredVersion[0]) + QLatin1Char('.') + 
QString::number(requiredVersion[1]) + QLatin1Char('.')
                         + QString::number(requiredVersion[2]);
 
-                    qDebug() << "KActivities service version: " << 
serviceVersion;
+                    qDebug() << "KActivities service version: " << 
serviceVersion.value();
                     qDebug() << "KActivities library version: " << 
libraryVersion;
                     qFatal("KActivities: FATAL ERROR: The service is older 
than the library");
                 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/plasma-activities-6.5.0/src/utils/continue_with.h 
new/plasma-activities-6.5.1/src/utils/continue_with.h
--- old/plasma-activities-6.5.0/src/utils/continue_with.h       1970-01-01 
01:00:00.000000000 +0100
+++ new/plasma-activities-6.5.1/src/utils/continue_with.h       2025-10-28 
10:20:53.000000000 +0100
@@ -0,0 +1,90 @@
+/*
+    SPDX-FileCopyrightText: 2014-2016 Ivan Cukic <ivan.cukic(at)kde.org>
+
+    SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR 
LicenseRef-KDE-Accepted-LGPL
+*/
+
+#ifndef UTILS_CONTINUE_WITH_H
+#define UTILS_CONTINUE_WITH_H
+
+#include <QDebug>
+#include <QFuture>
+#include <QFutureWatcher>
+
+#include <optional>
+
+#ifdef ENABLE_QJSVALUE_CONTINUATION
+#include <QJSValue>
+#endif
+
+namespace kamd
+{
+namespace utils
+{
+namespace detail
+{ //_
+#ifdef ENABLE_QJSVALUE_CONTINUATION
+inline void test_continuation(const QJSValue &continuation)
+{
+    if (!continuation.isCallable()) {
+        qWarning() << "Passed handler is not callable: " << 
continuation.toString();
+    }
+}
+
+template<typename _ReturnType>
+inline void pass_value(const QFuture<_ReturnType> &future, QJSValue 
continuation)
+{
+    auto result = continuation.call({future.result()});
+    if (result.isError()) {
+        qWarning() << "Handler returned this error: " << result.toString();
+    }
+}
+
+inline void pass_value(const QFuture<void> &future, QJSValue continuation)
+{
+    Q_UNUSED(future);
+    auto result = continuation.call({});
+    if (result.isError()) {
+        qWarning() << "Handler returned this error: " << result.toString();
+    }
+}
+#endif
+
+template<typename _Continuation>
+inline void test_continuation(_Continuation &&continuation)
+{
+    Q_UNUSED(continuation);
+}
+
+template<typename _ReturnType, typename _Continuation>
+inline void pass_value(const QFuture<_ReturnType> &future, _Continuation 
&&continuation)
+{
+    using namespace kamd::utils;
+    continuation(future.resultCount() > 0 ? std::optional(future.result()) : 
std::nullopt);
+}
+
+template<typename _Continuation>
+inline void pass_value(_Continuation &&continuation)
+{
+    continuation();
+}
+
+} //^ namespace detail
+
+template<typename _ReturnType, typename _Continuation>
+inline void continue_with(const QFuture<_ReturnType> &future, _Continuation 
&&continuation)
+{
+    detail::test_continuation(continuation);
+
+    auto watcher = new QFutureWatcher<_ReturnType>();
+    QObject::connect(watcher, &QFutureWatcherBase::finished, [=]() mutable {
+        detail::pass_value(future, continuation);
+    });
+
+    watcher->setFuture(future);
+}
+
+} // namespace utils
+} // namespace kamd
+
+#endif /* !UTILS_CONTINUE_WITH_H */

Reply via email to