Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package krunner for openSUSE:Factory checked in at 2022-12-12 17:38:44 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/krunner (Old) and /work/SRC/openSUSE:Factory/.krunner.new.1835 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "krunner" Mon Dec 12 17:38:44 2022 rev:107 rq:1042150 version:5.101.0 Changes: -------- --- /work/SRC/openSUSE:Factory/krunner/krunner.changes 2022-11-15 13:19:57.616346924 +0100 +++ /work/SRC/openSUSE:Factory/.krunner.new.1835/krunner.changes 2022-12-12 17:40:38.197463630 +0100 @@ -1,0 +2,13 @@ +Tue Dec 6 20:10:57 UTC 2022 - Christophe Marin <[email protected]> + +- Update to 5.101.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/frameworks/5/5.101.0 +- Changes since 5.100.0: + * QueryMatch: Avoid unneeded QVariant conversion to string when setting data + * cppcheck: Do not shadow outer functions with local variables + * cppcheck: Make constructors explicit + * Fix crash when deleting RunnerManager while jobs are running (kde#448825) + +------------------------------------------------------------------- Old: ---- krunner-5.100.0.tar.xz krunner-5.100.0.tar.xz.sig New: ---- krunner-5.101.0.tar.xz krunner-5.101.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ krunner.spec ++++++ --- /var/tmp/diff_new_pack.pBoZC3/_old 2022-12-12 17:40:38.805466697 +0100 +++ /var/tmp/diff_new_pack.pBoZC3/_new 2022-12-12 17:40:38.809466717 +0100 @@ -17,7 +17,7 @@ %define lname libKF5Runner5 -%define _tar_path 5.100 +%define _tar_path 5.101 # Full KF5 version (e.g. 5.33.0) %{!?_kf5_version: %global _kf5_version %{version}} # Last major and minor KF5 version (e.g. 5.33) @@ -25,11 +25,10 @@ # Only needed for the package signature condition %bcond_without released Name: krunner -Version: 5.100.0 +Version: 5.101.0 Release: 0 Summary: KDE Framework for providing different actions given a string query License: LGPL-2.1-or-later -Group: System/GUI/KDE URL: https://www.kde.org Source: %{name}-%{version}.tar.xz %if %{with released} @@ -56,14 +55,12 @@ %package -n %{lname} Summary: KDE Framework for providing different actions given a string query -Group: System/GUI/KDE %description -n %{lname} KDE Framework for providing different actions given a string query. %package devel Summary: KDE Framework for providing different actions given a string query -Group: Development/Libraries/KDE Requires: %{lname} = %{version} Requires: extra-cmake-modules Requires: cmake(KF5Plasma) >= %{_kf5_bugfix_version} ++++++ krunner-5.100.0.tar.xz -> krunner-5.101.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/krunner-5.100.0/CMakeLists.txt new/krunner-5.101.0/CMakeLists.txt --- old/krunner-5.100.0/CMakeLists.txt 2022-11-05 13:31:26.000000000 +0100 +++ new/krunner-5.101.0/CMakeLists.txt 2022-12-03 10:51:08.000000000 +0100 @@ -3,13 +3,13 @@ cmake_minimum_required(VERSION 3.16) -set(KF_VERSION "5.100.0") # handled by release scripts -set(KF_DEP_VERSION "5.100.0") # handled by release scripts +set(KF_VERSION "5.101.0") # handled by release scripts +set(KF_DEP_VERSION "5.101.0") # handled by release scripts project(KRunner VERSION ${KF_VERSION}) # ECM setup include(FeatureSummary) -find_package(ECM 5.100.0 NO_MODULE) +find_package(ECM 5.101.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/krunner-5.100.0/autotests/CMakeLists.txt new/krunner-5.101.0/autotests/CMakeLists.txt --- old/krunner-5.100.0/autotests/CMakeLists.txt 2022-11-05 13:31:26.000000000 +0100 +++ new/krunner-5.101.0/autotests/CMakeLists.txt 2022-12-03 10:51:08.000000000 +0100 @@ -43,6 +43,7 @@ runnermanagertest.cpp LINK_LIBRARIES Qt${QT_MAJOR_VERSION}::Test KF5Runner Qt${QT_MAJOR_VERSION}::Widgets Qt${QT_MAJOR_VERSION}::DBus KF5::ConfigCore ) +kcoreaddons_target_static_plugins(runnermanagertest krunnertest) ecm_add_tests( testmetadataconversion.cpp LINK_LIBRARIES Qt${QT_MAJOR_VERSION}::Test KF5Runner Qt${QT_MAJOR_VERSION}::Widgets Qt${QT_MAJOR_VERSION}::DBus KF5::ConfigCore diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/krunner-5.100.0/autotests/fakerunner.h new/krunner-5.101.0/autotests/fakerunner.h --- old/krunner-5.100.0/autotests/fakerunner.h 2022-11-05 13:31:26.000000000 +0100 +++ new/krunner-5.101.0/autotests/fakerunner.h 2022-12-03 10:51:08.000000000 +0100 @@ -5,22 +5,32 @@ #include "abstractrunner.h" +#include <QEventLoop> +#include <QTimer> + using namespace Plasma; class FakeRunner : public AbstractRunner { public: - FakeRunner(QObject *parent, const KPluginMetaData &metadata, const QVariantList &args) + explicit FakeRunner(QObject *parent, const KPluginMetaData &metadata, const QVariantList &args) : AbstractRunner(parent, metadata, args) { + setObjectName("FakeRunner"); } - FakeRunner(const KPluginMetaData &metadata = KPluginMetaData(QStringLiteral("metadata.desktop"))) + explicit FakeRunner(const KPluginMetaData &metadata = KPluginMetaData(QStringLiteral("metadata.desktop"))) : FakeRunner(nullptr, metadata, {}) { + setObjectName("FakeRunner"); } void match(RunnerContext &context) override { + QEventLoop l; + QTimer::singleShot(50, [&l]() { + l.quit(); + }); + l.exec(); if (context.query() == QLatin1String("foo")) { context.addMatch(createDummyMatch(QStringLiteral("foo"), 0.1)); context.addMatch(createDummyMatch(QStringLiteral("bar"), 0.2)); @@ -30,10 +40,10 @@ private: QueryMatch createDummyMatch(const QString &text, qreal relevance) { - QueryMatch match(this); - match.setId(text); - match.setText(text); - match.setRelevance(relevance); - return match; + QueryMatch queryMatch(this); + queryMatch.setId(text); + queryMatch.setText(text); + queryMatch.setRelevance(relevance); + return queryMatch; } }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/krunner-5.100.0/autotests/runnermanagertest.cpp new/krunner-5.101.0/autotests/runnermanagertest.cpp --- old/krunner-5.100.0/autotests/runnermanagertest.cpp 2022-11-05 13:31:26.000000000 +0100 +++ new/krunner-5.101.0/autotests/runnermanagertest.cpp 2022-12-03 10:51:08.000000000 +0100 @@ -112,6 +112,20 @@ QVERIFY(spyQueryFinished.wait()); QCOMPARE(spyQueryFinished.size(), 2); } + + /** + * When we delete the RunnerManager while a job is still running, we should not crash + */ + void testNotCrashWhenDeletingRunnerManager() + { + RunnerManager manager; + manager.setAllowedRunners({QStringLiteral("fakerunnerplugin")}); + manager.loadRunner(KPluginMetaData::findPluginById(QStringLiteral("krunnertest"), QStringLiteral("fakerunnerplugin"))); + + QCOMPARE(manager.runners().size(), 1); + + manager.launchQuery("somequery"); + } }; QTEST_MAIN(RunnerManagerTest) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/krunner-5.100.0/src/declarative/runnermodel.cpp new/krunner-5.101.0/src/declarative/runnermodel.cpp --- old/krunner-5.100.0/src/declarative/runnermodel.cpp 2022-11-05 13:31:26.000000000 +0100 +++ new/krunner-5.101.0/src/declarative/runnermodel.cpp 2022-12-03 10:51:08.000000000 +0100 @@ -64,8 +64,8 @@ void RunnerModel::setRunners(const QStringList &allowedRunners) { // use sets to ensure comparison is order-independent - const auto runners = this->runners(); - if (QSet<QString>(allowedRunners.begin(), allowedRunners.end()) == QSet<QString>(runners.begin(), runners.end())) { + const auto runnersIds = this->runners(); + if (QSet<QString>(allowedRunners.begin(), allowedRunners.end()) == QSet<QString>(runnersIds.begin(), runnersIds.end())) { return; } if (m_manager) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/krunner-5.100.0/src/declarative/runnermodel.h new/krunner-5.101.0/src/declarative/runnermodel.h --- old/krunner-5.100.0/src/declarative/runnermodel.h 2022-11-05 13:31:26.000000000 +0100 +++ new/krunner-5.101.0/src/declarative/runnermodel.h 2022-12-03 10:51:08.000000000 +0100 @@ -67,7 +67,7 @@ Actions, }; - RunnerModel(QObject *parent = nullptr); + explicit RunnerModel(QObject *parent = nullptr); QHash<int, QByteArray> roleNames() const override; QString currentQuery() const; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/krunner-5.100.0/src/querymatch.cpp new/krunner-5.101.0/src/querymatch.cpp --- old/krunner-5.100.0/src/querymatch.cpp 2022-11-05 13:31:26.000000000 +0100 +++ new/krunner-5.101.0/src/querymatch.cpp 2022-12-03 10:51:08.000000000 +0100 @@ -162,9 +162,9 @@ d->data = data; if (d->id.isEmpty() || d->idSetByData) { - const QString id = data.toString(); - if (!id.isEmpty()) { - setId(data.toString()); + const QString matchId = data.toString(); + if (!matchId.isEmpty()) { + setId(matchId); d->idSetByData = true; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/krunner-5.100.0/src/runnercontext.cpp new/krunner-5.101.0/src/runnercontext.cpp --- old/krunner-5.100.0/src/runnercontext.cpp 2022-11-05 13:31:26.000000000 +0100 +++ new/krunner-5.101.0/src/runnercontext.cpp 2022-12-03 10:51:08.000000000 +0100 @@ -38,14 +38,14 @@ class RunnerContextPrivate : public QSharedData { public: - RunnerContextPrivate(RunnerContext *context) + explicit RunnerContextPrivate(RunnerContext *context) : QSharedData() , type(RunnerContext::UnknownType) , q(context) { } - RunnerContextPrivate(const RunnerContextPrivate &p) + explicit RunnerContextPrivate(const RunnerContextPrivate &p) : QSharedData() , launchCounts(p.launchCounts) , type(RunnerContext::None) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/krunner-5.100.0/src/runnerjobs_p.h new/krunner-5.101.0/src/runnerjobs_p.h --- old/krunner-5.100.0/src/runnerjobs_p.h 2022-11-05 13:31:26.000000000 +0100 +++ new/krunner-5.101.0/src/runnerjobs_p.h 2022-12-03 10:51:08.000000000 +0100 @@ -119,7 +119,7 @@ { Q_OBJECT public: - DelayedJobCleaner(const QSet<QSharedPointer<FindMatchesJob>> &jobs, const QSet<AbstractRunner *> &runners = QSet<AbstractRunner *>()); + explicit DelayedJobCleaner(const QSet<QSharedPointer<FindMatchesJob>> &jobs, const QSet<AbstractRunner *> &runners = QSet<AbstractRunner *>()); ~DelayedJobCleaner() override; private Q_SLOTS: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/krunner-5.100.0/src/runnermanager.cpp new/krunner-5.101.0/src/runnermanager.cpp --- old/krunner-5.100.0/src/runnermanager.cpp 2022-11-05 13:31:26.000000000 +0100 +++ new/krunner-5.101.0/src/runnermanager.cpp 2022-12-03 10:51:08.000000000 +0100 @@ -568,7 +568,13 @@ RunnerManager::~RunnerManager() { if (!qApp->closingDown() && (!d->searchJobs.isEmpty() || !d->oldSearchJobs.isEmpty())) { - new DelayedJobCleaner(d->searchJobs + d->oldSearchJobs); + const QSet<QSharedPointer<FindMatchesJob>> jobs(d->searchJobs + d->oldSearchJobs); + QSet<AbstractRunner *> runners; + for (auto &job : jobs) { + job->runner()->setParent(nullptr); + runners << job->runner(); + } + new DelayedJobCleaner(jobs, runners); } }
