Hello community, here is the log from the commit of package kjobwidgets for openSUSE:Factory checked in at 2019-10-14 13:37:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kjobwidgets (Old) and /work/SRC/openSUSE:Factory/.kjobwidgets.new.2352 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kjobwidgets" Mon Oct 14 13:37:19 2019 rev:72 rq:738041 version:5.63.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kjobwidgets/kjobwidgets.changes 2019-09-23 12:24:34.809736388 +0200 +++ /work/SRC/openSUSE:Factory/.kjobwidgets.new.2352/kjobwidgets.changes 2019-10-14 13:37:21.770044743 +0200 @@ -1,0 +2,11 @@ +Sun Oct 6 13:26:44 UTC 2019 - Christophe Giboudeaux <christo...@krop.fr> + +- Update to 5.63.0 + * New feature release + * For more details please see: + * https://www.kde.org/announcements/kde-frameworks-5.63.0.php +- Changes since 5.62.0: + * cleanup dbus related objects early enough to avoid hang on program exit + * Port away from deprecated QTime::start() ==> QElapsedTimer + +------------------------------------------------------------------- Old: ---- kjobwidgets-5.62.0.tar.xz kjobwidgets-5.62.0.tar.xz.sig New: ---- kjobwidgets-5.63.0.tar.xz kjobwidgets-5.63.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kjobwidgets.spec ++++++ --- /var/tmp/diff_new_pack.ej4Gan/_old 2019-10-14 13:37:22.386043137 +0200 +++ /var/tmp/diff_new_pack.ej4Gan/_new 2019-10-14 13:37:22.390043127 +0200 @@ -17,14 +17,14 @@ %define lname libKF5JobWidgets5 -%define _tar_path 5.62 +%define _tar_path 5.63 # Full KF5 version (e.g. 5.33.0) %{!?_kf5_version: %global _kf5_version %{version}} # Last major and minor KF5 version (e.g. 5.33) %{!?_kf5_bugfix_version: %define _kf5_bugfix_version %(echo %{_kf5_version} | awk -F. '{print $1"."$2}')} %bcond_without lang Name: kjobwidgets -Version: 5.62.0 +Version: 5.63.0 Release: 0 Summary: Widgets for showing progress of asynchronous jobs License: LGPL-2.1-or-later @@ -43,13 +43,13 @@ BuildRequires: pkgconfig BuildRequires: cmake(KF5CoreAddons) >= %{_kf5_bugfix_version} BuildRequires: cmake(KF5WidgetsAddons) >= %{_kf5_bugfix_version} -BuildRequires: cmake(Qt5DBus) >= 5.6.0 -BuildRequires: cmake(Qt5Test) >= 5.6.0 -BuildRequires: cmake(Qt5Widgets) >= 5.6.0 -BuildRequires: cmake(Qt5X11Extras) >= 5.6.0 +BuildRequires: cmake(Qt5DBus) >= 5.11.0 +BuildRequires: cmake(Qt5Test) >= 5.11.0 +BuildRequires: cmake(Qt5Widgets) >= 5.11.0 +BuildRequires: cmake(Qt5X11Extras) >= 5.11.0 BuildRequires: pkgconfig(x11) %if %{with lang} -BuildRequires: cmake(Qt5LinguistTools) >= 5.6.0 +BuildRequires: cmake(Qt5LinguistTools) >= 5.11.0 %endif %description @@ -69,7 +69,7 @@ Requires: %{lname} = %{version} Requires: extra-cmake-modules Requires: cmake(KF5CoreAddons) >= %{_kf5_bugfix_version} -Requires: cmake(Qt5Widgets) >= 5.6.0 +Requires: cmake(Qt5Widgets) >= 5.11.0 %description devel KJobWIdgets provides widgets for showing progress of asynchronous jobs. ++++++ kjobwidgets-5.62.0.tar.xz -> kjobwidgets-5.63.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjobwidgets-5.62.0/CMakeLists.txt new/kjobwidgets-5.63.0/CMakeLists.txt --- old/kjobwidgets-5.62.0/CMakeLists.txt 2019-09-07 16:01:01.000000000 +0200 +++ new/kjobwidgets-5.63.0/CMakeLists.txt 2019-10-06 11:47:39.000000000 +0200 @@ -1,11 +1,11 @@ cmake_minimum_required(VERSION 3.5) -set(KF5_VERSION "5.62.0") # handled by release scripts -set(KF5_DEP_VERSION "5.62.0") # handled by release scripts +set(KF5_VERSION "5.63.0") # handled by release scripts +set(KF5_DEP_VERSION "5.63.0") # handled by release scripts project(KJobWidgets VERSION ${KF5_VERSION}) include(FeatureSummary) -find_package(ECM 5.62.0 NO_MODULE) +find_package(ECM 5.63.0 NO_MODULE) set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://projects.kde.org/projects/kdesupport/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/kjobwidgets-5.62.0/po/se/kjobwidgets5_qt.po new/kjobwidgets-5.63.0/po/se/kjobwidgets5_qt.po --- old/kjobwidgets-5.62.0/po/se/kjobwidgets5_qt.po 2019-09-07 16:01:01.000000000 +0200 +++ new/kjobwidgets-5.63.0/po/se/kjobwidgets5_qt.po 2019-10-06 11:47:39.000000000 +0200 @@ -70,31 +70,31 @@ msgid "%1 and %2" msgstr "%1 ja %2" -#: kstatusbarjobtracker.cpp:162 +#: kstatusbarjobtracker.cpp:161 #, fuzzy msgctxt "KStatusBarJobTracker|" msgid "Stop" msgstr "Bisset" -#: kstatusbarjobtracker.cpp:243 +#: kstatusbarjobtracker.cpp:242 #, fuzzy msgctxt "KStatusBarJobTracker|" msgid " Stalled " msgstr " Bisánan" -#: kstatusbarjobtracker.cpp:245 +#: kstatusbarjobtracker.cpp:244 #, fuzzy, qt-format msgctxt "KStatusBarJobTracker|" msgid " %1/s " msgstr " %1/s " -#: kwidgetjobtracker.cpp:272 kwidgetjobtracker.cpp:283 +#: kwidgetjobtracker.cpp:271 kwidgetjobtracker.cpp:282 #, fuzzy, qt-format msgctxt "KWidgetJobTracker|%1 is the label, we add a ':' to it" msgid "%1:" msgstr "%1:" -#: kwidgetjobtracker.cpp:337 +#: kwidgetjobtracker.cpp:336 #, fuzzy, qt-format msgctxt "KWidgetJobTracker|" msgid "%1 of %2 complete" @@ -102,7 +102,7 @@ msgstr[0] "%2 %3:s geargan" msgstr[1] "%2 %3:s geargan" -#: kwidgetjobtracker.cpp:356 kwidgetjobtracker.cpp:373 +#: kwidgetjobtracker.cpp:355 kwidgetjobtracker.cpp:372 #, fuzzy, qt-format msgctxt "KWidgetJobTracker|" msgid "%1 / %n folder(s)" @@ -110,7 +110,7 @@ msgstr[0] "%2 / %1 máhppa" msgstr[1] "%2 / %1 máhpa" -#: kwidgetjobtracker.cpp:360 kwidgetjobtracker.cpp:378 +#: kwidgetjobtracker.cpp:359 kwidgetjobtracker.cpp:377 #, fuzzy, qt-format msgctxt "KWidgetJobTracker|" msgid "%1 / %n file(s)" @@ -118,13 +118,13 @@ msgstr[0] "%2 / %1 fiila" msgstr[1] "%2 / %1 fiilla" -#: kwidgetjobtracker.cpp:388 +#: kwidgetjobtracker.cpp:387 #, fuzzy, qt-format msgctxt "KWidgetJobTracker|" msgid "%1% of %2" msgstr "%1 % %2:s " -#: kwidgetjobtracker.cpp:393 +#: kwidgetjobtracker.cpp:392 #, fuzzy, qt-format msgctxt "KWidgetJobTracker|" msgid "%1% of %n file(s)" @@ -132,19 +132,19 @@ msgstr[0] "%2% 1 fiillas" msgstr[1] "%2% %1 fiillas" -#: kwidgetjobtracker.cpp:395 +#: kwidgetjobtracker.cpp:394 #, fuzzy, qt-format msgctxt "KWidgetJobTracker|" msgid "%1%" msgstr "%1" -#: kwidgetjobtracker.cpp:408 +#: kwidgetjobtracker.cpp:407 #, fuzzy msgctxt "KWidgetJobTracker|" msgid "Stalled" msgstr "Bisánan" -#: kwidgetjobtracker.cpp:415 +#: kwidgetjobtracker.cpp:414 #, fuzzy, qt-format msgctxt "KWidgetJobTracker|" msgid "%1/s (%2 remaining)" @@ -152,93 +152,93 @@ msgstr[0] "%2/s ( %3 ovdalgo geargá)" msgstr[1] "%2/s ( %3 ovdalgo geargá)" -#: kwidgetjobtracker.cpp:417 +#: kwidgetjobtracker.cpp:416 #, fuzzy, qt-format msgctxt "KWidgetJobTracker|speed in bytes per second" msgid "%1/s" msgstr "%1/s" -#: kwidgetjobtracker.cpp:425 +#: kwidgetjobtracker.cpp:424 #, fuzzy msgctxt "KWidgetJobTracker|" msgid "&Close" msgstr "&Gidde" -#: kwidgetjobtracker.cpp:427 +#: kwidgetjobtracker.cpp:426 #, fuzzy msgctxt "KWidgetJobTracker|" msgid "Close the current window or document" msgstr "Gidde dálá láse dahje dokumeantta" -#: kwidgetjobtracker.cpp:440 +#: kwidgetjobtracker.cpp:439 #, fuzzy, qt-format msgctxt "KWidgetJobTracker|" msgid "%1/s (done)" msgstr "%1/s (geargan)" -#: kwidgetjobtracker.cpp:447 +#: kwidgetjobtracker.cpp:446 #, fuzzy msgctxt "KWidgetJobTracker|" msgid "&Resume" msgstr "&Joatkke" -#: kwidgetjobtracker.cpp:453 kwidgetjobtracker.cpp:525 +#: kwidgetjobtracker.cpp:452 kwidgetjobtracker.cpp:524 #, fuzzy msgctxt "KWidgetJobTracker|" msgid "&Pause" msgstr "&Botke" # unreviewed-context -#: kwidgetjobtracker.cpp:477 +#: kwidgetjobtracker.cpp:476 #, fuzzy msgctxt "KWidgetJobTracker|The source url of a job" msgid "Source:" msgstr "Gáldu:" # unreviewed-context -#: kwidgetjobtracker.cpp:485 +#: kwidgetjobtracker.cpp:484 #, fuzzy msgctxt "KWidgetJobTracker|The destination url of a job" msgid "Destination:" msgstr "Ulbmil:" -#: kwidgetjobtracker.cpp:509 kwidgetjobtracker.cpp:692 +#: kwidgetjobtracker.cpp:508 kwidgetjobtracker.cpp:691 #, fuzzy msgctxt "KWidgetJobTracker|" msgid "Click this to expand the dialog, to show details" msgstr "Coahkkal dán vai oaidnit eanet bienaid" -#: kwidgetjobtracker.cpp:546 +#: kwidgetjobtracker.cpp:545 #, fuzzy msgctxt "KWidgetJobTracker|" msgid "&Keep this window open after transfer is complete" msgstr "&Doalat dán láse rabas maŋŋá viežžama" -#: kwidgetjobtracker.cpp:555 +#: kwidgetjobtracker.cpp:554 #, fuzzy msgctxt "KWidgetJobTracker|" msgid "Open &File" msgstr "Raba &fiilla" -#: kwidgetjobtracker.cpp:562 +#: kwidgetjobtracker.cpp:561 #, fuzzy msgctxt "KWidgetJobTracker|" msgid "Open &Destination" msgstr "Raba &ulbmila" -#: kwidgetjobtracker.cpp:571 +#: kwidgetjobtracker.cpp:570 #, fuzzy msgctxt "KWidgetJobTracker|" msgid "&Cancel" msgstr "G&askkalduhtte" -#: kwidgetjobtracker.cpp:580 +#: kwidgetjobtracker.cpp:579 #, fuzzy msgctxt "KWidgetJobTracker|" msgid "Progress Dialog" msgstr "Ovdánanláseš" -#: kwidgetjobtracker.cpp:595 +#: kwidgetjobtracker.cpp:594 #, fuzzy, qt-format msgctxt "KWidgetJobTracker|" msgid "%n folder(s)" @@ -246,7 +246,7 @@ msgstr[0] "%1 máhppa" msgstr[1] "%1 máhpa" -#: kwidgetjobtracker.cpp:599 +#: kwidgetjobtracker.cpp:598 #, fuzzy, qt-format msgctxt "KWidgetJobTracker|" msgid "%n file(s)" @@ -254,7 +254,7 @@ msgstr[0] "%1 fiila" msgstr[1] "%1 fiilla" -#: kwidgetjobtracker.cpp:685 +#: kwidgetjobtracker.cpp:684 #, fuzzy msgctxt "KWidgetJobTracker|" msgid "Click this to collapse the dialog, to hide details" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjobwidgets-5.62.0/src/CMakeLists.txt new/kjobwidgets-5.63.0/src/CMakeLists.txt --- old/kjobwidgets-5.62.0/src/CMakeLists.txt 2019-09-07 16:01:01.000000000 +0200 +++ new/kjobwidgets-5.63.0/src/CMakeLists.txt 2019-10-06 11:47:39.000000000 +0200 @@ -115,6 +115,8 @@ Qt5Widgets_QCH Qt5Gui_QCH Qt5Core_QCH + INCLUDE_DIRS + ${CMAKE_CURRENT_BINARY_DIR} BLANK_MACROS KJOBWIDGETS_EXPORT TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjobwidgets-5.62.0/src/kuiserverjobtracker.cpp new/kjobwidgets-5.63.0/src/kuiserverjobtracker.cpp --- old/kjobwidgets-5.62.0/src/kuiserverjobtracker.cpp 2019-09-07 16:01:01.000000000 +0200 +++ new/kjobwidgets-5.63.0/src/kuiserverjobtracker.cpp 2019-10-06 11:47:39.000000000 +0200 @@ -85,6 +85,8 @@ << d->progressJobView.size() << "stalled jobs"; } + qDeleteAll(d->progressJobView); + delete d; } @@ -119,7 +121,7 @@ } QPointer<KJob> jobWatch = job; - QDBusReply<QDBusObjectPath> reply = serverProxy()->uiserver().requestView(appName, + QDBusReply<QDBusObjectPath> reply = serverProxy()->uiserver()->requestView(appName, programIconName, job->capabilities()); @@ -328,8 +330,8 @@ } KSharedUiServerProxy::KSharedUiServerProxy() - : m_uiserver(QStringLiteral("org.kde.JobViewServer"), QStringLiteral("/JobViewServer"), QDBusConnection::sessionBus()) - , m_watcher(QStringLiteral("org.kde.JobViewServer"), QDBusConnection::sessionBus(), QDBusServiceWatcher::WatchForOwnerChange) + : m_uiserver(new org::kde::JobViewServer(QStringLiteral("org.kde.JobViewServer"), QStringLiteral("/JobViewServer"), QDBusConnection::sessionBus())) + , m_watcher(new QDBusServiceWatcher(QStringLiteral("org.kde.JobViewServer"), QDBusConnection::sessionBus(), QDBusServiceWatcher::WatchForOwnerChange)) { QDBusConnectionInterface *bus = QDBusConnection::sessionBus().interface(); if (!bus->isServiceRegistered(QStringLiteral("org.kde.JobViewServer"))) { @@ -349,7 +351,14 @@ qCDebug(KJOBWIDGETS) << "kuiserver found"; } - connect(&m_watcher, &QDBusServiceWatcher::serviceOwnerChanged, this, &KSharedUiServerProxy::uiserverOwnerChanged); + connect(m_watcher.get(), &QDBusServiceWatcher::serviceOwnerChanged, this, &KSharedUiServerProxy::uiserverOwnerChanged); + + // cleanup early enough to avoid issues with dbus at application exit + // see e.g. https://phabricator.kde.org/D2545 + qAddPostRoutine([]() { + serverProxy->m_uiserver.reset(); + serverProxy->m_watcher.reset(); + }); } KSharedUiServerProxy::~KSharedUiServerProxy() @@ -357,9 +366,9 @@ } -org::kde::JobViewServer &KSharedUiServerProxy::uiserver() +org::kde::JobViewServer *KSharedUiServerProxy::uiserver() { - return m_uiserver; + return m_uiserver.get(); } void KSharedUiServerProxy::uiserverOwnerChanged(const QString &serviceName, const QString &oldOwner, const QString &newOwner) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjobwidgets-5.62.0/src/kuiserverjobtracker_p.h new/kjobwidgets-5.63.0/src/kuiserverjobtracker_p.h --- old/kjobwidgets-5.62.0/src/kuiserverjobtracker_p.h 2019-09-07 16:01:01.000000000 +0200 +++ new/kjobwidgets-5.63.0/src/kuiserverjobtracker_p.h 2019-10-06 11:47:39.000000000 +0200 @@ -24,6 +24,8 @@ #ifndef KUISERVERJOBTRACKER_P_H #define KUISERVERJOBTRACKER_P_H +#include <memory> + #include <QDBusServiceWatcher> #include "jobviewserverinterface.h" @@ -36,7 +38,7 @@ KSharedUiServerProxy(); ~KSharedUiServerProxy(); - org::kde::JobViewServer &uiserver(); + org::kde::JobViewServer *uiserver(); Q_SIGNALS: void serverRegistered(); @@ -45,8 +47,8 @@ private: void uiserverOwnerChanged(const QString &serviceName, const QString &oldOwner, const QString &newOwner); - org::kde::JobViewServer m_uiserver; - QDBusServiceWatcher m_watcher; + std::unique_ptr<org::kde::JobViewServer> m_uiserver; + std::unique_ptr<QDBusServiceWatcher> m_watcher; }; #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjobwidgets-5.62.0/src/kwidgetjobtracker.cpp new/kjobwidgets-5.63.0/src/kwidgetjobtracker.cpp --- old/kjobwidgets-5.62.0/src/kwidgetjobtracker.cpp 2019-09-07 16:01:01.000000000 +0200 +++ new/kjobwidgets-5.63.0/src/kwidgetjobtracker.cpp 2019-10-06 11:47:39.000000000 +0200 @@ -296,7 +296,7 @@ return; } totalSize = amount; - if (startTime.isNull()) { + if (!startTime.isValid()) { startTime.start(); } break; @@ -431,7 +431,7 @@ processedAmount(KJob::Bytes, totalSize); keepOpenCheck->setEnabled(false); pauseButton->setEnabled(false); - if (!startTime.isNull()) { + if (startTime.isValid()) { int s = startTime.elapsed(); if (!s) { s = 1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjobwidgets-5.62.0/src/kwidgetjobtracker_p.h new/kjobwidgets-5.63.0/src/kwidgetjobtracker_p.h --- old/kjobwidgets-5.62.0/src/kwidgetjobtracker_p.h 2019-09-07 16:01:01.000000000 +0200 +++ new/kjobwidgets-5.63.0/src/kwidgetjobtracker_p.h 2019-10-06 11:47:39.000000000 +0200 @@ -25,10 +25,10 @@ #include "kabstractwidgetjobtracker_p.h" #include "kwidgetjobtracker.h" +#include <QElapsedTimer> #include <QEventLoopLocker> #include <QWidget> #include <QMap> -#include <QTime> #include <QQueue> #include <QCheckBox> #include <QUrl> @@ -117,7 +117,7 @@ QPushButton *openLocation; QCheckBox *keepOpenCheck; QUrl location; - QTime startTime; + QElapsedTimer startTime; QPushButton *pauseButton; KSqueezedTextLabel *sourceEdit; KSqueezedTextLabel *destEdit;