diffstat for threadweaver-5.27.0 threadweaver-5.46.0 .arcconfig | 3 .reviewboardrc | 4 CMakeLists.txt | 34 ++-- KF5ThreadWeaverConfig.cmake.in | 3 autotests/AppendCharacterJob.h | 8 - autotests/DeleteTest.h | 4 autotests/JobLoggingWeaver.h | 2 autotests/JobTests.cpp | 8 - autotests/JobTests.h | 2 autotests/LifecycleTests.cpp | 4 autotests/QueueFactoryTests.cpp | 8 - autotests/QueueTests.cpp | 22 +- autotests/QueueTests.h | 8 - autotests/ShutdownOnQApplicationQuitTests.cpp | 6 benchmarks/CMakeLists.txt | 4 debian/changelog | 205 ++++++++++++++++++++++++++ debian/control | 14 - debian/libkf5threadweaver-dev.acc.in | 5 debian/libkf5threadweaver5.symbols | 23 ++ debian/tests/testsuite | 2 examples/CMakeLists.txt | 7 examples/HelloInternet/MainWidget.h | 2 examples/HelloWorld/CMakeLists.txt | 7 examples/HelloWorldRaw/HelloWorldRaw.cpp | 2 examples/ThumbNailer/AverageLoadManager.h | 2 examples/ThumbNailer/Benchmark.cpp | 2 examples/ThumbNailer/Image.h | 2 examples/ThumbNailer/ImageListFilter.h | 2 examples/ThumbNailer/ItemDelegate.cpp | 2 examples/ThumbNailer/ItemDelegate.h | 4 examples/ThumbNailer/MainWindow.h | 2 examples/ThumbNailer/Model.cpp | 6 examples/ThumbNailer/Model.h | 2 examples/ThumbNailer/ThumbNailer.cpp | 2 metainfo.yaml | 1 src/CMakeLists.txt | 24 +++ src/collection.cpp | 20 +- src/collection_p.cpp | 8 - src/debuggingaids.cpp | 2 src/debuggingaids.h | 6 src/dependencypolicy.cpp | 22 +- src/destructedstate.cpp | 6 src/executewrapper.cpp | 8 - src/iddecorator.cpp | 4 src/job.cpp | 8 - src/qobjectdecorator.h | 6 src/queue.cpp | 18 +- src/queue.h | 6 src/queueapi.h | 6 src/queueinterface.h | 2 src/queuesignals.cpp | 11 - src/queuesignals.h | 8 - src/queuesignals_p.cpp | 4 src/queuesignals_p.h | 1 src/queuestream.cpp | 2 src/resourcerestrictionpolicy.cpp | 6 src/sequence_p.cpp | 2 src/state.cpp | 4 src/thread.cpp | 12 - src/thread.h | 6 src/weaver.cpp | 12 - src/weaver.h | 4 src/weaver_p.h | 2 src/workinghardstate.cpp | 2 64 files changed, 445 insertions(+), 191 deletions(-) diff -Nru threadweaver-5.27.0/.arcconfig threadweaver-5.46.0/.arcconfig --- threadweaver-5.27.0/.arcconfig 1970-01-01 00:00:00.000000000 +0000 +++ threadweaver-5.46.0/.arcconfig 2018-05-05 12:40:22.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "phabricator.uri" : "https://phabricator.kde.org/" +} diff -Nru threadweaver-5.27.0/.reviewboardrc threadweaver-5.46.0/.reviewboardrc --- threadweaver-5.27.0/.reviewboardrc 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/.reviewboardrc 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ -REVIEWBOARD_URL = "https://git.reviewboard.kde.org" -REPOSITORY = 'git://anongit.kde.org/threadweaver' -BRANCH = 'master' -TARGET_GROUPS = 'kdeframeworks' diff -Nru threadweaver-5.27.0/CMakeLists.txt threadweaver-5.46.0/CMakeLists.txt --- threadweaver-5.27.0/CMakeLists.txt 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/CMakeLists.txt 2018-05-05 12:40:22.000000000 +0000 @@ -1,9 +1,10 @@ -cmake_minimum_required(VERSION 2.8.12) +cmake_minimum_required(VERSION 3.0) -project(ThreadWeaver) +set(KF5_VERSION "5.46.0") # handled by release scripts +project(ThreadWeaver VERSION ${KF5_VERSION}) include(FeatureSummary) -find_package(ECM 5.27.0 NO_MODULE) +find_package(ECM 5.46.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) @@ -15,7 +16,7 @@ include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) include(KDECMakeSettings) -set(REQUIRED_QT_VERSION 5.5.0) +set(REQUIRED_QT_VERSION 5.8.0) find_package(Qt5Core ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE) @@ -23,15 +24,12 @@ include(ECMSetupVersion) include(ECMGenerateHeaders) +include(ECMAddQch) -IF(THREADWEAVER_USE_GNU_CXX11) - ADD_DEFINITIONS(-std=c++11) -ENDIF() +option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF) +add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)") -# -- Maintained by scripty -set(KF5_VERSION "5.27.0") # handled by release scripts - -ecm_setup_version(${KF5_VERSION} VARIABLE_PREFIX THREADWEAVER +ecm_setup_version(PROJECT VARIABLE_PREFIX THREADWEAVER VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/threadweaver_version.h" PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF5ThreadWeaverConfigVersion.cmake" SOVERSION 5) @@ -45,9 +43,19 @@ # create a Config.cmake and a ConfigVersion.cmake file and install them set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5ThreadWeaver") -include(ECMPackageConfigHelpers) +if (BUILD_QCH) + ecm_install_qch_export( + TARGETS KF5ThreadWeaver_QCH + FILE KF5ThreadWeaverQchTargets.cmake + DESTINATION "${CMAKECONFIG_INSTALL_DIR}" + COMPONENT Devel + ) + set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KF5ThreadWeaverQchTargets.cmake\")") +endif() + +include(CMakePackageConfigHelpers) -ecm_configure_package_config_file("${CMAKE_CURRENT_SOURCE_DIR}/KF5ThreadWeaverConfig.cmake.in" +configure_package_config_file("${CMAKE_CURRENT_SOURCE_DIR}/KF5ThreadWeaverConfig.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/KF5ThreadWeaverConfig.cmake" INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} ) diff -Nru threadweaver-5.27.0/KF5ThreadWeaverConfig.cmake.in threadweaver-5.46.0/KF5ThreadWeaverConfig.cmake.in --- threadweaver-5.27.0/KF5ThreadWeaverConfig.cmake.in 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/KF5ThreadWeaverConfig.cmake.in 2018-05-05 12:40:22.000000000 +0000 @@ -1,7 +1,8 @@ @PACKAGE_INIT@ +include(CMakeFindDependencyMacro) find_dependency(Qt5Core @REQUIRED_QT_VERSION@) include("${CMAKE_CURRENT_LIST_DIR}/KF5ThreadWeaverTargets.cmake") - +@PACKAGE_INCLUDE_QCHTARGETS@ diff -Nru threadweaver-5.27.0/autotests/AppendCharacterJob.h threadweaver-5.46.0/autotests/AppendCharacterJob.h --- threadweaver-5.27.0/autotests/AppendCharacterJob.h 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/autotests/AppendCharacterJob.h 2018-05-05 12:40:22.000000000 +0000 @@ -28,8 +28,8 @@ #ifndef APPENDCHARACTER_JOB #define APPENDCHARACTER_JOB -#include -#include +#include +#include #include #include @@ -42,7 +42,7 @@ class AppendCharacterJob : public ThreadWeaver::Job { public: - AppendCharacterJob(QChar c = QChar(), QString *stringref = 0) + AppendCharacterJob(QChar c = QChar(), QString *stringref = nullptr) : ThreadWeaver::Job() { setValues(c, stringref); @@ -82,7 +82,7 @@ class FailingAppendCharacterJob : public AppendCharacterJob { public: - FailingAppendCharacterJob(QChar c = QChar(), QString *stringref = 0) + FailingAppendCharacterJob(QChar c = QChar(), QString *stringref = nullptr) : AppendCharacterJob(c, stringref) { } diff -Nru threadweaver-5.27.0/autotests/DeleteTest.h threadweaver-5.46.0/autotests/DeleteTest.h --- threadweaver-5.27.0/autotests/DeleteTest.h 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/autotests/DeleteTest.h 2018-05-05 12:40:22.000000000 +0000 @@ -28,8 +28,8 @@ #ifndef DELETETEST_H #define DELETETEST_H -#include -#include +#include +#include #include #include diff -Nru threadweaver-5.27.0/autotests/JobLoggingWeaver.h threadweaver-5.46.0/autotests/JobLoggingWeaver.h --- threadweaver-5.27.0/autotests/JobLoggingWeaver.h 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/autotests/JobLoggingWeaver.h 2018-05-05 12:40:22.000000000 +0000 @@ -36,7 +36,7 @@ { Q_OBJECT public: - explicit JobLoggingWeaver(QObject* parent = 0); + explicit JobLoggingWeaver(QObject* parent = nullptr); void enqueue(const QVector &jobs) Q_DECL_OVERRIDE; private: diff -Nru threadweaver-5.27.0/autotests/JobTests.cpp threadweaver-5.46.0/autotests/JobTests.cpp --- threadweaver-5.27.0/autotests/JobTests.cpp 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/autotests/JobTests.cpp 2018-05-05 12:40:22.000000000 +0000 @@ -29,8 +29,8 @@ #include #include -#include -#include +#include +#include #include #include @@ -322,7 +322,7 @@ JobPointer jobB(new AppendCharacterJob(QChar('b'), &result)); QObjectDecorator collection(new Collection()); Collection *decorated = dynamic_cast(collection.job()); - QVERIFY(decorated != 0); + QVERIFY(decorated != nullptr); decorated->addJob(jobA); decorated->addJob(jobB); @@ -925,7 +925,7 @@ void JobTests::IdDecoratorAutoDeleteTest() { using namespace ThreadWeaver; - IdDecorator id(0); + IdDecorator id(nullptr); QCOMPARE(id.autoDelete(), true); // autoDelete is on by default id.setAutoDelete(false); QCOMPARE(id.autoDelete(), false); diff -Nru threadweaver-5.27.0/autotests/JobTests.h threadweaver-5.46.0/autotests/JobTests.h --- threadweaver-5.27.0/autotests/JobTests.h 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/autotests/JobTests.h 2018-05-05 12:40:22.000000000 +0000 @@ -27,7 +27,7 @@ #ifndef JOBTESTS_H #define JOBTESTS_H -#include +#include #include namespace ThreadWeaver diff -Nru threadweaver-5.27.0/autotests/LifecycleTests.cpp threadweaver-5.46.0/autotests/LifecycleTests.cpp --- threadweaver-5.27.0/autotests/LifecycleTests.cpp 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/autotests/LifecycleTests.cpp 2018-05-05 12:40:22.000000000 +0000 @@ -92,7 +92,7 @@ ThreadWeaver::JobPointer job1(new NotifyOnDeletejob(job1Exists)); QCOMPARE(job1Exists, true); int argc = 0; - QCoreApplication app(argc, (char **)0); Q_UNUSED(app); + QCoreApplication app(argc, (char **)nullptr); Q_UNUSED(app); QVERIFY(ThreadWeaver::Queue::instance()); ThreadWeaver::Queue::instance()->suspend(); ThreadWeaver::Queue::instance()->enqueue(job1); @@ -105,7 +105,7 @@ QCOMPARE(job2Exists, false); QCOMPARE(job1Exists, true); } - QVERIFY(ThreadWeaver::Queue::instance() == 0); + QVERIFY(ThreadWeaver::Queue::instance() == nullptr); QCOMPARE(job2Exists, false); QCOMPARE(job1Exists, false); } diff -Nru threadweaver-5.27.0/autotests/QueueFactoryTests.cpp threadweaver-5.46.0/autotests/QueueFactoryTests.cpp --- threadweaver-5.27.0/autotests/QueueFactoryTests.cpp 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/autotests/QueueFactoryTests.cpp 2018-05-05 12:40:22.000000000 +0000 @@ -57,7 +57,7 @@ { Q_OBJECT public: - explicit JobCountingWeaver(QObject *parent = 0) : Weaver(parent) {} + explicit JobCountingWeaver(QObject *parent = nullptr) : Weaver(parent) {} void enqueue(const QVector &jobs) Q_DECL_OVERRIDE { QVector decorated; std::transform(jobs.begin(), jobs.end(), std::back_inserter(decorated), @@ -71,7 +71,7 @@ class CountingGlobalQueueFactory : public Queue::GlobalQueueFactory { - Queue *create(QObject *parent = 0) Q_DECL_OVERRIDE { + Queue *create(QObject *parent = nullptr) Q_DECL_OVERRIDE { return new Queue(new JobCountingWeaver, parent); } }; @@ -85,7 +85,7 @@ void testQueueFactory() { counter.storeRelease(0); - QCoreApplication app(argc, (char **)0); + QCoreApplication app(argc, (char **)nullptr); Queue queue(new JobCountingWeaver(this)); queue.enqueue(make_job([]() {})); // nop queue.finish(); @@ -95,7 +95,7 @@ void testGlobalQueueFactory() { Queue::setGlobalQueueFactory(new CountingGlobalQueueFactory()); - QCoreApplication app(argc, (char **)0); + QCoreApplication app(argc, (char **)nullptr); counter.storeRelease(0); Queue::instance()->enqueue(make_job([]() {})); // nop Queue::instance()->finish(); diff -Nru threadweaver-5.27.0/autotests/QueueTests.cpp threadweaver-5.46.0/autotests/QueueTests.cpp --- threadweaver-5.27.0/autotests/QueueTests.cpp 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/autotests/QueueTests.cpp 2018-05-05 12:40:22.000000000 +0000 @@ -1,11 +1,11 @@ #include "QueueTests.h" -#include +#include -#include -#include -#include -#include +#include +#include +#include +#include #include "AppendCharacterJob.h" @@ -87,7 +87,7 @@ QueueTests::QueueTests(QObject *parent) : QObject(parent) - , autoDeleteJob(0) + , autoDeleteJob(nullptr) { } @@ -147,7 +147,7 @@ // test that signals are properly emitted (asynchronously, that is): QVERIFY(thread() == QThread::currentThread()); QVERIFY(job == autoDeleteJob); - delete autoDeleteJob; autoDeleteJob = 0; + delete autoDeleteJob; autoDeleteJob = nullptr; } void QueueTests::DeleteDoneJobsFromSequenceTest() @@ -159,7 +159,7 @@ AppendCharacterJob c(QChar('c'), &sequence); Collection collection; collection << make_job_raw(autoDeleteJob) << b << c; - QVERIFY(autoDeleteJob != 0); + QVERIFY(autoDeleteJob != nullptr); QVERIFY(connect(autoDeleteJob, SIGNAL(done(ThreadWeaver::JobPointer)), SLOT(deleteJob(ThreadWeaver::JobPointer)))); stream() << collection; @@ -167,14 +167,14 @@ Queue::instance()->finish(); QTest::qWait(100); // return to event queue to make sure signals are delivered // no need to delete a, that should be done in deleteJob - QVERIFY(autoDeleteJob == 0); + QVERIFY(autoDeleteJob == nullptr); } void QueueTests::deleteCollection(ThreadWeaver::JobPointer collection) { QVERIFY(thread() == QThread::currentThread()); QVERIFY(collection == autoDeleteCollection); - delete autoDeleteCollection; autoDeleteCollection = 0; + delete autoDeleteCollection; autoDeleteCollection = nullptr; } void QueueTests::DeleteCollectionOnDoneTest() @@ -199,7 +199,7 @@ QTest::qWait(10); // no need to delete a, that should be done in deleteJob QVERIFY(sequence.length() == 2); - QVERIFY(autoDeleteCollection == 0); + QVERIFY(autoDeleteCollection == nullptr); } QTEST_MAIN(QueueTests) diff -Nru threadweaver-5.27.0/autotests/QueueTests.h threadweaver-5.46.0/autotests/QueueTests.h --- threadweaver-5.27.0/autotests/QueueTests.h 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/autotests/QueueTests.h 2018-05-05 12:40:22.000000000 +0000 @@ -28,14 +28,14 @@ #ifndef QUEUETESTS_H #define QUEUETESTS_H -#include +#include #include "AppendCharacterJob.h" class LowPriorityAppendCharacterJob : public AppendCharacterJob { public: - LowPriorityAppendCharacterJob(QChar character = QChar(), QString *stringref = 0); + LowPriorityAppendCharacterJob(QChar character = QChar(), QString *stringref = nullptr); int priority() const Q_DECL_OVERRIDE; }; @@ -43,7 +43,7 @@ class HighPriorityAppendCharacterJob : public AppendCharacterJob { public: - HighPriorityAppendCharacterJob(QChar character = QChar(), QString *stringref = 0); + HighPriorityAppendCharacterJob(QChar character = QChar(), QString *stringref = nullptr); int priority() const Q_DECL_OVERRIDE; }; @@ -73,7 +73,7 @@ Q_OBJECT public: - explicit QueueTests(QObject *parent = 0); + explicit QueueTests(QObject *parent = nullptr); public Q_SLOTS: // this slot (which is not a test) is part of diff -Nru threadweaver-5.27.0/autotests/ShutdownOnQApplicationQuitTests.cpp threadweaver-5.46.0/autotests/ShutdownOnQApplicationQuitTests.cpp --- threadweaver-5.27.0/autotests/ShutdownOnQApplicationQuitTests.cpp 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/autotests/ShutdownOnQApplicationQuitTests.cpp 2018-05-05 12:40:22.000000000 +0000 @@ -51,13 +51,13 @@ { { int argc = 0; - QCoreApplication app(argc, (char **)0); - QVERIFY(ThreadWeaver::Queue::instance() != 0); + QCoreApplication app(argc, (char **)nullptr); + QVERIFY(ThreadWeaver::Queue::instance() != nullptr); ThreadWeaver::Queue::instance()->suspend(); ThreadWeaver::Queue::instance()->resume(); QTest::qWait(10); } - QVERIFY(ThreadWeaver::Queue::instance() == 0); + QVERIFY(ThreadWeaver::Queue::instance() == nullptr); } QTEST_APPLESS_MAIN(ShutdownOnQApplicationQuitTests) diff -Nru threadweaver-5.27.0/benchmarks/CMakeLists.txt threadweaver-5.46.0/benchmarks/CMakeLists.txt --- threadweaver-5.27.0/benchmarks/CMakeLists.txt 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/benchmarks/CMakeLists.txt 2018-05-05 12:40:22.000000000 +0000 @@ -1,9 +1,5 @@ find_package(Qt5Test ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE) -if(NOT MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") -endif() - remove_definitions(-DQT_NO_CAST_FROM_ASCII) ########### next target ############### diff -Nru threadweaver-5.27.0/debian/changelog threadweaver-5.46.0/debian/changelog --- threadweaver-5.27.0/debian/changelog 2016-10-15 14:58:44.000000000 +0000 +++ threadweaver-5.46.0/debian/changelog 2018-05-15 14:59:16.000000000 +0000 @@ -1,3 +1,115 @@ +threadweaver (5.46.0-0ubuntu1) cosmic; urgency=medium + + * New upstream release (5.45.0) + * New upstream release (5.46.0) + + -- Rik Mills Tue, 15 May 2018 15:59:16 +0100 + +threadweaver (5.44.0-0ubuntu1) bionic; urgency=medium + + * New upstream release (5.44.0) + + -- Rik Mills Mon, 12 Mar 2018 20:00:48 +0000 + +threadweaver (5.43.0-0ubuntu2) bionic; urgency=medium + + * Don't fail testsuite on arm64. Was previously an always-failed, and still + does in all but a very occasional case. + + -- Rik Mills Tue, 13 Feb 2018 10:14:36 +0000 + +threadweaver (5.43.0-0ubuntu1) bionic; urgency=medium + + * New upstream release (5.43.0) + + -- Rik Mills Sun, 11 Feb 2018 11:18:11 +0000 + +threadweaver (5.42.0-0ubuntu1) bionic; urgency=medium + + * New upstream release (5.42.0) + + -- Rik Mills Fri, 26 Jan 2018 22:24:41 +0000 + +threadweaver (5.41.0-0ubuntu1) bionic; urgency=low + + * New upstream release (5.41.0) + + -- Walter Lapchynski Sun, 10 Dec 2017 22:10:25 -0600 + +threadweaver (5.40.0-0ubuntu1) bionic; urgency=medium + + * New upstream release (5.39.0) + * New upstream release (5.40.0) + + -- Rik Mills Fri, 24 Nov 2017 17:19:14 +0000 + +threadweaver (5.38.0-0ubuntu1) artful; urgency=medium + + * Update sybmols from build logs. Remove private symbols now upstream + changes ensure these are no longer leaked + * New upstream release (5.38.0) + + -- Rik Mills Mon, 11 Sep 2017 13:18:37 +0100 + +threadweaver (5.37.0-0ubuntu1) artful; urgency=medium + + * New upstream release (5.37.0) + * Update symbols from build logs + + -- Rik Mills Sat, 12 Aug 2017 18:46:48 +0100 + +threadweaver (5.36.0-0ubuntu1) artful; urgency=low + + * New upstream release (5.36.0) + + -- José Manuel Santamaría Lema Tue, 11 Jul 2017 23:51:50 +0100 + +threadweaver (5.35.0-0ubuntu1) artful; urgency=low + + * New upstream release (5.35.0) + + -- José Manuel Santamaría Lema Mon, 12 Jun 2017 22:56:44 +0100 + +threadweaver (5.34.0-0ubuntu1) artful; urgency=low + + * New upstream release (5.34.0) + + -- José Manuel Santamaría Lema Mon, 15 May 2017 21:24:36 +0100 + +threadweaver (5.33.0-0ubuntu1) artful; urgency=low + + * New upstream release (5.33.0) + + -- José Manuel Santamaría Lema Sat, 29 Apr 2017 18:03:33 +0100 + +threadweaver (5.31.0-0ubuntu1) zesty; urgency=medium + + * Pass '-fno-keep-inline-functions' to gcc in the acc test in order to + avoid possible spurious test failures. + * New upstream release (5.31.0) + + -- José Manuel Santamaría Lema Tue, 14 Feb 2017 22:50:01 +0000 + +threadweaver (5.30.0-0ubuntu1) zesty; urgency=low + + * New upstream release (5.30.0) + + -- Rik Mills Wed, 01 Feb 2017 18:33:38 +0000 + +threadweaver (5.28.0-0ubuntu1) zesty; urgency=low + + [ Rik Mills ] + * New upstream release (5.27.0) + + [ José Manuel Santamaría Lema ] + * Update Vcs-Git field to use https:// instead of git:// + * New upstream release (5.28.0) + + [ Simon Quigley ] + * Merge from Debian + + -- José Manuel Santamaría Lema Mon, 05 Dec 2016 20:15:30 +0000 + threadweaver (5.27.0-1) unstable; urgency=medium [ Automatic packaging ] @@ -19,6 +131,12 @@ -- Maximiliano Curia Thu, 29 Sep 2016 11:58:38 +0200 +threadweaver (5.26.0-0ubuntu1) yakkety; urgency=low + + * New upstream release (5.26.0) + + -- Rik Mills Thu, 22 Sep 2016 13:54:02 +0100 + threadweaver (5.25.0-1) unstable; urgency=medium [ Automatic packaging ] @@ -29,6 +147,12 @@ -- Maximiliano Curia Thu, 18 Aug 2016 17:18:59 +0200 +threadweaver (5.24.0-0ubuntu1) yakkety; urgency=medium + + * New upstream release (5.24.0) + + -- Philip Muškovac Tue, 26 Jul 2016 08:52:36 +0000 + threadweaver (5.23.0-1) unstable; urgency=medium [ Automatic packaging ] @@ -36,6 +160,12 @@ -- Maximiliano Curia Sat, 18 Jun 2016 08:35:09 +0200 +threadweaver (5.23.0-0ubuntu1) yakkety; urgency=medium + + * New upstream release (5.23.0) + + -- Clive Johnston Mon, 11 Jul 2016 22:25:44 +0200 + threadweaver (5.22.0-1) unstable; urgency=medium [ Automatic packaging ] @@ -43,6 +173,21 @@ -- Maximiliano Curia Wed, 18 May 2016 16:33:39 +0200 +threadweaver (5.22.0-0ubuntu1) yakkety; urgency=medium + + [ Scarlett Clark ] + * New upstream release. + * Debian merge: No remaining changes. + + [ Philip Muškovac ] + * Update the Vcs URLs now that the repositories are hosted on + Launchpad + + [ Clive Johnston ] + * New upstream release + + -- Clive Johnston Tue, 17 May 2016 17:04:11 -0700 + threadweaver (5.21.0-1) experimental; urgency=medium [ Maximiliano Curia ] @@ -71,6 +216,17 @@ -- Maximiliano Curia Wed, 27 Jan 2016 13:34:28 +0100 +threadweaver (5.18.0-0ubuntu1) xenial; urgency=medium + + [ Scarlett Clark ] + * Debian Merge: No remaining changes. + * New upstream release Xenial + + [ Philip Muškovac ] + * New upstream release + + -- Philip Muškovac Wed, 06 Jan 2016 15:13:28 +0100 + threadweaver (5.16.0-1) unstable; urgency=medium * New upstream release (5.16.0). @@ -84,6 +240,22 @@ -- Maximiliano Curia Fri, 09 Oct 2015 19:16:45 +0200 +threadweaver (5.15.0-0ubuntu2) xenial; urgency=medium + + * Fix autopackagetests by adding allow-stderr to the requirements. + + -- Philip Muškovac Tue, 03 Nov 2015 15:34:57 +0100 + +threadweaver (5.15.0-0ubuntu1) wily; urgency=medium + + [ Scarlett Clark ] + * Vivid backport + + [ Jonathan Riddell ] + * new upstream release + + -- Jonathan Riddell Wed, 07 Oct 2015 14:01:13 +0100 + threadweaver (5.14.0-2) unstable; urgency=medium * Move auto test to autopkgtests. @@ -96,6 +268,12 @@ -- Maximiliano Curia Tue, 15 Sep 2015 13:49:49 +0200 +threadweaver (5.14.0-0ubuntu1) wily; urgency=medium + + * new upstream release + + -- Clive Johnston Thu, 17 Sep 2015 13:30:08 +0100 + threadweaver (5.13.0-1) unstable; urgency=medium * New upstream release (5.13.0). @@ -103,6 +281,12 @@ -- Maximiliano Curia Thu, 13 Aug 2015 11:41:22 +0200 +threadweaver (5.13.0-0ubuntu1) wily; urgency=medium + + * new upstream release + + -- Jonathan Riddell Mon, 10 Aug 2015 13:37:32 +0200 + threadweaver (5.12.0-1) unstable; urgency=medium * New upstream release (5.12.0). @@ -111,13 +295,34 @@ -- Maximiliano Curia Thu, 09 Jul 2015 12:44:02 +0200 +threadweaver (5.12.0-0ubuntu1) wily; urgency=medium + + [ Scarlett Clark ] + * New upstream release + + [ José Manuel Santamaría Lema ] + * Update symbols files; mark missing symbols for GCC 5 as optional. + + [ Scarlett Clark ] + * Vivid backport. + + -- Scarlett Clark Mon, 03 Aug 2015 16:13:03 +0200 + threadweaver (5.11.0-1) unstable; urgency=medium + [ Maximiliano Curia ] * New upstream release (5.10.0). * New upstream release (5.11.0). -- Maximiliano Curia Fri, 26 Jun 2015 14:11:58 +0200 +threadweaver (5.10.0-0ubuntu1) wily; urgency=medium + + [ Jonathan Riddell ] + * New upstream release + + -- Jonathan Riddell Wed, 03 Jun 2015 21:05:15 +0200 + threadweaver (5.9.0-1) experimental; urgency=medium * New upstream release (5.9.0). diff -Nru threadweaver-5.27.0/debian/control threadweaver-5.46.0/debian/control --- threadweaver-5.27.0/debian/control 2016-10-15 14:58:44.000000000 +0000 +++ threadweaver-5.46.0/debian/control 2018-05-15 14:59:16.000000000 +0000 @@ -5,19 +5,19 @@ Uploaders: Maximiliano Curia Build-Depends: cmake (>= 2.8.12), debhelper (>= 9), - extra-cmake-modules (>= 5.27.0~), + extra-cmake-modules (>= 5.46.0~), pkg-kde-tools (>= 0.15.15ubuntu1~), - qtbase5-dev (>= 5.5.0~) + qtbase5-dev (>= 5.6.1~) Standards-Version: 3.9.8 Homepage: https://projects.kde.org/projects/frameworks/threadweaver -Vcs-Browser: https://anonscm.debian.org/git/pkg-kde/frameworks/threadweaver.git -Vcs-Git: https://anonscm.debian.org/git/pkg-kde/frameworks/threadweaver.git +Vcs-Browser: https://code.launchpad.net/~kubuntu-packagers/kubuntu-packaging/+git/threadweaver +Vcs-Git: https://git.launchpad.net/~kubuntu-packagers/kubuntu-packaging/+git/threadweaver Package: libkf5threadweaver-dev -Section: libdevel Architecture: any +Section: libdevel Depends: libkf5threadweaver5 (= ${binary:Version}), - qtbase5-dev (>= 5.5.0~), + qtbase5-dev (>= 5.6.1~), ${misc:Depends} Description: ThreadWeaver library to help multithreaded programming.in Qt ThreadWeaver is a helper for multithreaded programming. It uses a job-based @@ -29,7 +29,6 @@ This package is part of KDE Frameworks 5. . This package contains the development files. -Breaks: libkf5kdelibs4support-dev (<< 5.27) Package: libkf5threadweaver5 Architecture: any @@ -43,4 +42,3 @@ threads within a set of resource limits. . This package is part of KDE Frameworks 5. -Breaks: libkf5runner5 (<< 5.27) diff -Nru threadweaver-5.27.0/debian/libkf5threadweaver-dev.acc.in threadweaver-5.46.0/debian/libkf5threadweaver-dev.acc.in --- threadweaver-5.27.0/debian/libkf5threadweaver-dev.acc.in 2016-10-15 14:58:44.000000000 +0000 +++ threadweaver-5.46.0/debian/libkf5threadweaver-dev.acc.in 2018-05-15 14:59:16.000000000 +0000 @@ -1,4 +1,4 @@ - + @@ -15,6 +15,7 @@ -fPIC + -fno-keep-inline-functions - + \ No newline at end of file diff -Nru threadweaver-5.27.0/debian/libkf5threadweaver5.symbols threadweaver-5.46.0/debian/libkf5threadweaver5.symbols --- threadweaver-5.27.0/debian/libkf5threadweaver5.symbols 2016-10-15 14:58:44.000000000 +0000 +++ threadweaver-5.46.0/debian/libkf5threadweaver5.symbols 2018-05-15 14:59:16.000000000 +0000 @@ -1,4 +1,4 @@ -# SymbolsHelper-Confirmed: 5.14.0 alpha amd64 arm64 armel armhf hppa hurd-i386 i386 kfreebsd-amd64 kfreebsd-i386 mips mips64el mipsel powerpc ppc64 ppc64el s390x +# SymbolsHelper-Confirmed: 5.37.0+git20170815 amd64 libKF5ThreadWeaver.so.5 libkf5threadweaver5 #MINVER# _ZN12ThreadWeaver10Collection1dEv@Base 4.98.0 _ZN12ThreadWeaver10Collection22aboutToBeQueued_lockedEPNS_8QueueAPIE@Base 4.96.0 @@ -62,6 +62,20 @@ _ZN12ThreadWeaver11QueueStreamlsEPNS_12JobInterfaceE@Base 4.96.0 _ZN12ThreadWeaver11QueueStreamlsERK14QSharedPointerINS_12JobInterfaceEE@Base 4.96.0 _ZN12ThreadWeaver11QueueStreamlsERNS_3JobE@Base 4.96.0 + _ZN12ThreadWeaver12QueueSignals11qt_metacallEN11QMetaObject4CallEiPPv@Base 5.37.0 + _ZN12ThreadWeaver12QueueSignals11qt_metacastEPKc@Base 5.37.0 + _ZN12ThreadWeaver12QueueSignals12stateChangedEPNS_5StateE@Base 5.37.0 + _ZN12ThreadWeaver12QueueSignals16staticMetaObjectE@Base 5.37.0 + _ZN12ThreadWeaver12QueueSignals1dEv@Base 5.37.0 + _ZN12ThreadWeaver12QueueSignals8finishedEv@Base 5.37.0 + _ZN12ThreadWeaver12QueueSignals9suspendedEv@Base 5.37.0 + _ZN12ThreadWeaver12QueueSignalsC1EP7QObject@Base 5.37.0 + _ZN12ThreadWeaver12QueueSignalsC1EPNS_7Private20QueueSignals_PrivateEP7QObject@Base 5.37.0 + _ZN12ThreadWeaver12QueueSignalsC2EP7QObject@Base 5.37.0 + _ZN12ThreadWeaver12QueueSignalsC2EPNS_7Private20QueueSignals_PrivateEP7QObject@Base 5.37.0 + _ZN12ThreadWeaver12QueueSignalsD0Ev@Base 5.37.0 + _ZN12ThreadWeaver12QueueSignalsD1Ev@Base 5.37.0 + _ZN12ThreadWeaver12QueueSignalsD2Ev@Base 5.37.0 _ZN12ThreadWeaver16DependencyPolicy10destructedEPNS_12JobInterfaceE@Base 4.96.0 _ZN12ThreadWeaver16DependencyPolicy13addDependencyE14QSharedPointerINS_12JobInterfaceEES3_@Base 4.96.0 _ZN12ThreadWeaver16DependencyPolicy13addDependencyERKNS_10DependencyE@Base 4.96.0 @@ -248,6 +262,8 @@ _ZNK12ThreadWeaver11IdDecorator8executorEv@Base 4.96.0 _ZNK12ThreadWeaver11IdDecorator8priorityEv@Base 4.96.0 _ZNK12ThreadWeaver11IdDecorator8sequenceEv@Base 4.96.0 + _ZNK12ThreadWeaver12QueueSignals10metaObjectEv@Base 5.37.0 + _ZNK12ThreadWeaver12QueueSignals1dEv@Base 5.37.0 _ZNK12ThreadWeaver16DependencyPolicy25hasUnresolvedDependenciesE14QSharedPointerINS_12JobInterfaceEE@Base 4.96.0 _ZNK12ThreadWeaver16DependencyPolicy7isEmptyEv@Base 4.98.0 _ZNK12ThreadWeaver16QObjectDecorator10metaObjectEv@Base 4.96.0 @@ -291,6 +307,7 @@ _ZTIN12ThreadWeaver11IdDecoratorE@Base 4.96.0 _ZTIN12ThreadWeaver11QueuePolicyE@Base 4.96.0 _ZTIN12ThreadWeaver12JobInterfaceE@Base 4.96.0 + _ZTIN12ThreadWeaver12QueueSignalsE@Base 5.37.0 _ZTIN12ThreadWeaver14QueueInterfaceE@Base 4.96.0 _ZTIN12ThreadWeaver15WeaverInterfaceE@Base 4.96.0 _ZTIN12ThreadWeaver16DependencyPolicyE@Base 4.96.0 @@ -311,6 +328,7 @@ _ZTSN12ThreadWeaver11IdDecoratorE@Base 4.96.0 _ZTSN12ThreadWeaver11QueuePolicyE@Base 4.96.0 _ZTSN12ThreadWeaver12JobInterfaceE@Base 4.96.0 + _ZTSN12ThreadWeaver12QueueSignalsE@Base 5.37.0 _ZTSN12ThreadWeaver14QueueInterfaceE@Base 4.96.0 _ZTSN12ThreadWeaver15WeaverInterfaceE@Base 4.96.0 _ZTSN12ThreadWeaver16DependencyPolicyE@Base 4.96.0 @@ -329,6 +347,7 @@ _ZTVN12ThreadWeaver10CollectionE@Base 4.96.0 _ZTVN12ThreadWeaver10JobAbortedE@Base 4.96.0 _ZTVN12ThreadWeaver11IdDecoratorE@Base 4.96.0 + _ZTVN12ThreadWeaver12QueueSignalsE@Base 5.37.0 _ZTVN12ThreadWeaver16DependencyPolicyE@Base 4.96.0 _ZTVN12ThreadWeaver16QObjectDecoratorE@Base 4.96.0 _ZTVN12ThreadWeaver25ResourceRestrictionPolicyE@Base 4.96.0 @@ -342,7 +361,6 @@ _ZTVN12ThreadWeaver8SequenceE@Base 4.96.0 _ZTVN12ThreadWeaver9ExceptionE@Base 4.96.0 _ZTVN12ThreadWeaver9JobFailedE@Base 4.96.0 - _ZZN12ThreadWeaver6Thread7Private6makeIdEvE4s_id@Base 4.96.0 (c++)"non-virtual thunk to ThreadWeaver::QObjectDecorator::defaultBegin(QSharedPointer const&, ThreadWeaver::Thread*)@Base" 4.98.0 (c++)"non-virtual thunk to ThreadWeaver::QObjectDecorator::defaultEnd(QSharedPointer const&, ThreadWeaver::Thread*)@Base" 4.98.0 (c++)"non-virtual thunk to ThreadWeaver::Queue::currentNumberOfThreads() const@Base" 4.96.0 @@ -362,6 +380,7 @@ (c++)"non-virtual thunk to ThreadWeaver::Queue::state() const@Base" 4.96.0 (c++)"non-virtual thunk to ThreadWeaver::Queue::suspend()@Base" 4.96.0 (c++)"non-virtual thunk to ThreadWeaver::Queue::~Queue()@Base" 4.96.0 + (c++)"non-virtual thunk to ThreadWeaver::QueueSignals::~QueueSignals()@Base" 5.37.0 (c++)"non-virtual thunk to ThreadWeaver::State::~State()@Base" 4.96.0 (c++)"non-virtual thunk to ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool)@Base" 4.96.0 (c++)"non-virtual thunk to ThreadWeaver::Weaver::currentNumberOfThreads() const@Base" 4.96.0 diff -Nru threadweaver-5.27.0/debian/tests/testsuite threadweaver-5.46.0/debian/tests/testsuite --- threadweaver-5.27.0/debian/tests/testsuite 2016-10-15 14:58:44.000000000 +0000 +++ threadweaver-5.46.0/debian/tests/testsuite 2018-05-15 14:59:16.000000000 +0000 @@ -1,3 +1,5 @@ #!/bin/sh +dpkg-architecture -e arm64 && exit 0 + dh_auto_test diff -Nru threadweaver-5.27.0/examples/CMakeLists.txt threadweaver-5.46.0/examples/CMakeLists.txt --- threadweaver-5.27.0/examples/CMakeLists.txt 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/examples/CMakeLists.txt 2018-05-05 12:40:22.000000000 +0000 @@ -7,13 +7,6 @@ # ...generate Markdown files with Snippets for HelloWorldRaw.in.md and HelloInternet.in.md endif() -# Tell CMake we will be using C++ 11: -if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") -elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel" AND NOT WIN32) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") -endif() - add_subdirectory(HelloWorld) add_subdirectory(HelloWorldRaw) add_subdirectory(HelloInternet) diff -Nru threadweaver-5.27.0/examples/HelloInternet/MainWidget.h threadweaver-5.46.0/examples/HelloInternet/MainWidget.h --- threadweaver-5.27.0/examples/HelloInternet/MainWidget.h 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/examples/HelloInternet/MainWidget.h 2018-05-05 12:40:22.000000000 +0000 @@ -10,7 +10,7 @@ Q_OBJECT public: - explicit MainWidget(QWidget *parent = 0); + explicit MainWidget(QWidget *parent = nullptr); ~MainWidget(); protected: diff -Nru threadweaver-5.27.0/examples/HelloWorld/CMakeLists.txt threadweaver-5.46.0/examples/HelloWorld/CMakeLists.txt --- threadweaver-5.27.0/examples/HelloWorld/CMakeLists.txt 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/examples/HelloWorld/CMakeLists.txt 2018-05-05 12:40:22.000000000 +0000 @@ -2,10 +2,15 @@ # http://www.cmake.org/cmake/help/documentation.html # http://techbase.kde.org/Development/Tutorials/CMake ##@@snippet_begin(adding_tw_1) -cmake_minimum_required(VERSION 2.8.12) +cmake_minimum_required(VERSION 3.0) find_package(ECM 1.1.0 REQUIRED NO_MODULE) ##@@snippet_end +if(POLICY CMP0063) + cmake_policy(SET CMP0063 NEW) +endif() + + if (NOT TARGET KF5ThreadWeaver) # Find the ThreadWeaver framework when we compiling this example stand-alone ##@@snippet_begin(adding_tw_2) diff -Nru threadweaver-5.27.0/examples/HelloWorldRaw/HelloWorldRaw.cpp threadweaver-5.46.0/examples/HelloWorldRaw/HelloWorldRaw.cpp --- threadweaver-5.27.0/examples/HelloWorldRaw/HelloWorldRaw.cpp 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/examples/HelloWorldRaw/HelloWorldRaw.cpp 2018-05-05 12:40:22.000000000 +0000 @@ -32,7 +32,7 @@ //@@snippet_begin(sample-helloworldraw-class) class QDebugJob : public Job { public: - QDebugJob(const char* message = 0) : m_message(message) {} + QDebugJob(const char* message = nullptr) : m_message(message) {} protected: void run(JobPointer, Thread*) Q_DECL_OVERRIDE { qDebug() << m_message; diff -Nru threadweaver-5.27.0/examples/ThumbNailer/AverageLoadManager.h threadweaver-5.46.0/examples/ThumbNailer/AverageLoadManager.h --- threadweaver-5.27.0/examples/ThumbNailer/AverageLoadManager.h 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/examples/ThumbNailer/AverageLoadManager.h 2018-05-05 12:40:22.000000000 +0000 @@ -9,7 +9,7 @@ { Q_OBJECT public: - explicit AverageLoadManager(QObject *parent = 0); + explicit AverageLoadManager(QObject *parent = nullptr); void activate(bool enabled); bool available() const; diff -Nru threadweaver-5.27.0/examples/ThumbNailer/Benchmark.cpp threadweaver-5.46.0/examples/ThumbNailer/Benchmark.cpp --- threadweaver-5.27.0/examples/ThumbNailer/Benchmark.cpp 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/examples/ThumbNailer/Benchmark.cpp 2018-05-05 12:40:22.000000000 +0000 @@ -25,7 +25,7 @@ */ #include -#include +#include #include diff -Nru threadweaver-5.27.0/examples/ThumbNailer/Image.h threadweaver-5.46.0/examples/ThumbNailer/Image.h --- threadweaver-5.27.0/examples/ThumbNailer/Image.h 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/examples/ThumbNailer/Image.h 2018-05-05 12:40:22.000000000 +0000 @@ -53,7 +53,7 @@ }; Image(const QString inputFileName = QString(), const QString outputFileName = QString(), - Model* model = 0, int id = 0); + Model* model = nullptr, int id = 0); Progress progress() const; QString description() const; QString details() const; diff -Nru threadweaver-5.27.0/examples/ThumbNailer/ImageListFilter.h threadweaver-5.46.0/examples/ThumbNailer/ImageListFilter.h --- threadweaver-5.27.0/examples/ThumbNailer/ImageListFilter.h 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/examples/ThumbNailer/ImageListFilter.h 2018-05-05 12:40:22.000000000 +0000 @@ -33,7 +33,7 @@ class ImageListFilter : public QSortFilterProxyModel { Q_OBJECT public: - explicit ImageListFilter(Image::Steps step, QObject* parent = 0); + explicit ImageListFilter(Image::Steps step, QObject* parent = nullptr); bool filterAcceptsRow(int source_row, const QModelIndex & source_parent) const Q_DECL_OVERRIDE; private: Image::Steps m_step; diff -Nru threadweaver-5.27.0/examples/ThumbNailer/ItemDelegate.cpp threadweaver-5.46.0/examples/ThumbNailer/ItemDelegate.cpp --- threadweaver-5.27.0/examples/ThumbNailer/ItemDelegate.cpp 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/examples/ThumbNailer/ItemDelegate.cpp 2018-05-05 12:40:22.000000000 +0000 @@ -14,7 +14,7 @@ $Id: SMIVItemDelegate.cpp 30 2005-08-16 16:16:04Z mirko $ */ -#include +#include #include #include "ItemDelegate.h" diff -Nru threadweaver-5.27.0/examples/ThumbNailer/ItemDelegate.h threadweaver-5.46.0/examples/ThumbNailer/ItemDelegate.h --- threadweaver-5.27.0/examples/ThumbNailer/ItemDelegate.h 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/examples/ThumbNailer/ItemDelegate.h 2018-05-05 12:40:22.000000000 +0000 @@ -18,13 +18,13 @@ #define ITEMDELEGATE_H #include -#include +#include class ItemDelegate : public QItemDelegate { Q_OBJECT public: - ItemDelegate(QObject* parent = 0); + ItemDelegate(QObject* parent = nullptr); static const int FrameWidth; static const int TextMargin; static const int Margin; diff -Nru threadweaver-5.27.0/examples/ThumbNailer/MainWindow.h threadweaver-5.46.0/examples/ThumbNailer/MainWindow.h --- threadweaver-5.27.0/examples/ThumbNailer/MainWindow.h 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/examples/ThumbNailer/MainWindow.h 2018-05-05 12:40:22.000000000 +0000 @@ -44,7 +44,7 @@ Q_OBJECT public: - explicit MainWindow(QWidget *parent = 0); + explicit MainWindow(QWidget *parent = nullptr); ~MainWindow(); protected: diff -Nru threadweaver-5.27.0/examples/ThumbNailer/Model.cpp threadweaver-5.46.0/examples/ThumbNailer/Model.cpp --- threadweaver-5.27.0/examples/ThumbNailer/Model.cpp 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/examples/ThumbNailer/Model.cpp 2018-05-05 12:40:22.000000000 +0000 @@ -113,13 +113,15 @@ { beginResetModel(); Q_ASSERT(m_images.isEmpty()); - m_images.resize(filenames.size()); + m_images.reserve(filenames.size()); int counter = 0; auto initializeImage = [=, &counter] (const QFileInfo& file) { auto const out = QFileInfo(outputDirectory, file.fileName()).absoluteFilePath(); return Image(file.absoluteFilePath(), out, this, counter++); }; - transform(filenames.begin(), filenames.end(), m_images.begin(), initializeImage); + for (const auto& filename : filenames) { + m_images << initializeImage(filename); + } endResetModel(); } diff -Nru threadweaver-5.27.0/examples/ThumbNailer/Model.h threadweaver-5.46.0/examples/ThumbNailer/Model.h --- threadweaver-5.27.0/examples/ThumbNailer/Model.h 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/examples/ThumbNailer/Model.h 2018-05-05 12:40:22.000000000 +0000 @@ -46,7 +46,7 @@ Role_StepRole }; - explicit Model(QObject *parent = 0); + explicit Model(QObject *parent = nullptr); int fileLoaderCap() const; void setFileLoaderCap(int cap); diff -Nru threadweaver-5.27.0/examples/ThumbNailer/ThumbNailer.cpp threadweaver-5.46.0/examples/ThumbNailer/ThumbNailer.cpp --- threadweaver-5.27.0/examples/ThumbNailer/ThumbNailer.cpp 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/examples/ThumbNailer/ThumbNailer.cpp 2018-05-05 12:40:22.000000000 +0000 @@ -26,7 +26,7 @@ #include -#include +#include #include #include #include diff -Nru threadweaver-5.27.0/metainfo.yaml threadweaver-5.46.0/metainfo.yaml --- threadweaver-5.27.0/metainfo.yaml 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/metainfo.yaml 2018-05-05 12:40:22.000000000 +0000 @@ -4,6 +4,7 @@ type: functional platforms: - name: Linux + - name: FreeBSD - name: Windows - name: MacOSX - name: Android diff -Nru threadweaver-5.27.0/src/CMakeLists.txt threadweaver-5.46.0/src/CMakeLists.txt --- threadweaver-5.27.0/src/CMakeLists.txt 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/src/CMakeLists.txt 2018-05-05 12:40:22.000000000 +0000 @@ -97,6 +97,30 @@ DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/ThreadWeaver/threadweaver COMPONENT Devel ) +if(BUILD_QCH) + ecm_add_qch( + KF5ThreadWeaver_QCH + NAME ThreadWeaver + BASE_NAME KF5ThreadWeaver + VERSION ${KF5_VERSION} + ORG_DOMAIN org.kde + SOURCES # using only public headers, to cover only public API + ${ThreadWeaver_HEADERS} + "${CMAKE_SOURCE_DIR}/docs/use-cases.md" + "${CMAKE_SOURCE_DIR}/docs/whymultithreading.md" + MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md" + LINK_QCHS + Qt5Core_QCH + BLANK_MACROS + THREADWEAVER_EXPORT + THREADWEAVER_DEPRECATED + THREADWEAVER_DEPRECATED_EXPORT + TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} + QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} + COMPONENT Devel + ) +endif() + include(ECMGeneratePriFile) ecm_generate_pri_file(BASE_NAME ThreadWeaver LIB_NAME KF5ThreadWeaver DEPS "core" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF5}/ThreadWeaver) install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR}) diff -Nru threadweaver-5.27.0/src/collection.cpp threadweaver-5.46.0/src/collection.cpp --- threadweaver-5.27.0/src/collection.cpp 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/src/collection.cpp 2018-05-05 12:40:22.000000000 +0000 @@ -31,9 +31,9 @@ #include "queueing.h" #include "collection_p.h" -#include -#include -#include +#include +#include +#include #include "dependencypolicy.h" #include "executewrapper_p.h" @@ -46,7 +46,7 @@ { public: CollectionExecuteWrapper() - : collection(0) + : collection(nullptr) {} void setCollection(Collection *collection_) @@ -94,7 +94,7 @@ MUTEX_ASSERT_UNLOCKED(mutex()); // dequeue all remaining jobs: QMutexLocker l(mutex()); Q_UNUSED(l); - if (d()->api != 0) { // still queued + if (d()->api != nullptr) { // still queued d()->dequeueElements(this, false); } } @@ -102,8 +102,8 @@ void Collection::addJob(JobPointer job) { QMutexLocker l(mutex()); Q_UNUSED(l); - REQUIRE(d()->api == 0 || d()->selfIsExecuting == true); // not queued yet or still running - REQUIRE(job != 0); + REQUIRE(d()->api == nullptr || d()->selfIsExecuting == true); // not queued yet or still running + REQUIRE(job != nullptr); CollectionExecuteWrapper *wrapper = new CollectionExecuteWrapper(); wrapper->setCollection(this); @@ -121,7 +121,7 @@ void Collection::aboutToBeQueued_locked(QueueAPI *api) { Q_ASSERT(!mutex()->tryLock()); - Q_ASSERT(d()->api == 0); // never queue twice + Q_ASSERT(d()->api == nullptr); // never queue twice d()->api = api; d()->selfExecuteWrapper.wrap(setExecutor(&d()->selfExecuteWrapper)); CollectionExecuteWrapper *wrapper = new CollectionExecuteWrapper(); @@ -135,7 +135,7 @@ Q_ASSERT(!mutex()->tryLock()); Q_ASSERT(api && d()->api == api); d()->dequeueElements(this, true); - d()->api = 0; + d()->api = nullptr; Job::aboutToBeDequeued_locked(api); } @@ -144,7 +144,7 @@ { QMutexLocker l(mutex()); Q_UNUSED(l); Q_ASSERT(d()->self.isNull()); - Q_ASSERT(d()->api != 0); + Q_ASSERT(d()->api != nullptr); d()->self = job; d()->selfIsExecuting = true; // reset in elementFinished } diff -Nru threadweaver-5.27.0/src/collection_p.cpp threadweaver-5.46.0/src/collection_p.cpp --- threadweaver-5.27.0/src/collection_p.cpp 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/src/collection_p.cpp 2018-05-05 12:40:22.000000000 +0000 @@ -35,7 +35,7 @@ namespace Private { Collection_Private::Collection_Private() - : api(0) + : api(nullptr) , jobCounter(0) , selfIsExecuting(false) { @@ -53,7 +53,7 @@ if (collection->status() < Job::Status_Success) { collection->setStatus(Job::Status_Success); } - api = 0; + api = nullptr; } void Collection_Private::enqueueElements() @@ -132,7 +132,7 @@ void Collection_Private::stop_locked(Collection *collection) { Q_ASSERT(!mutex.tryLock()); - if (api != 0) { + if (api != nullptr) { TWDEBUG(4, "Collection::stop: dequeueing %p.\n", collection); if (!api->dequeue(ManagedJobPointer(collection))) { dequeueElements(collection, false); @@ -144,7 +144,7 @@ { // dequeue everything: Q_ASSERT(!mutex.tryLock()); - if (api == 0) { + if (api == nullptr) { return; //not queued } diff -Nru threadweaver-5.27.0/src/debuggingaids.cpp threadweaver-5.46.0/src/debuggingaids.cpp --- threadweaver-5.27.0/src/debuggingaids.cpp 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/src/debuggingaids.cpp 2018-05-05 12:40:22.000000000 +0000 @@ -28,7 +28,7 @@ #include "debuggingaids.h" -#include +#include #include diff -Nru threadweaver-5.27.0/src/debuggingaids.h threadweaver-5.46.0/src/debuggingaids.h --- threadweaver-5.27.0/src/debuggingaids.h 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/src/debuggingaids.h 2018-05-05 12:40:22.000000000 +0000 @@ -31,7 +31,7 @@ #ifndef DEBUGGINGAIDS_H #define DEBUGGINGAIDS_H -#include +#include extern "C" { @@ -44,8 +44,8 @@ #include } -#include -#include +#include +#include #include "threadweaver_export.h" namespace ThreadWeaver diff -Nru threadweaver-5.27.0/src/dependencypolicy.cpp threadweaver-5.46.0/src/dependencypolicy.cpp --- threadweaver-5.27.0/src/dependencypolicy.cpp 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/src/dependencypolicy.cpp 2018-05-05 12:40:22.000000000 +0000 @@ -28,9 +28,9 @@ #include "dependencypolicy.h" -#include -#include -#include +#include +#include +#include #include "job.h" #include "debuggingaids.h" @@ -42,7 +42,7 @@ typedef QMultiMap JobMultiMap; -class DependencyPolicy::Private +class Q_DECL_HIDDEN DependencyPolicy::Private { public: /** A container to keep track of Job dependencies. @@ -77,7 +77,7 @@ void DependencyPolicy::addDependency(JobPointer jobA, JobPointer jobB) { // jobA depends on jobB - REQUIRE(jobA != 0 && jobB != 0 && jobA != jobB); + REQUIRE(jobA != nullptr && jobB != nullptr && jobA != jobB); QMutexLocker a(jobA->mutex()); QMutexLocker b(jobB->mutex()); @@ -96,7 +96,7 @@ bool DependencyPolicy::removeDependency(JobPointer jobA, JobPointer jobB) { - REQUIRE(jobA != 0 && jobB != 0); + REQUIRE(jobA != nullptr && jobB != nullptr); bool result = false; QMutexLocker l(d->mutex()); @@ -156,7 +156,7 @@ bool DependencyPolicy::hasUnresolvedDependencies(JobPointer job) const { - REQUIRE(job != 0); + REQUIRE(job != nullptr); QMutexLocker l(d->mutex()); return d->dependencies().contains(job); } @@ -175,13 +175,13 @@ bool DependencyPolicy::canRun(JobPointer job) { - REQUIRE(job != 0); + REQUIRE(job != nullptr); return !hasUnresolvedDependencies(job); } void DependencyPolicy::free(JobPointer job) { - REQUIRE(job != 0); + REQUIRE(job != nullptr); REQUIRE(job->status() > Job::Status_Running); if (job->success()) { resolveDependencies(job); @@ -195,12 +195,12 @@ void DependencyPolicy::release(JobPointer job) { - REQUIRE(job != 0); Q_UNUSED(job) + REQUIRE(job != nullptr); Q_UNUSED(job) } void DependencyPolicy::destructed(JobInterface *job) { - REQUIRE(job != 0); + REQUIRE(job != nullptr); resolveDependencies(ManagedJobPointer(job)); } diff -Nru threadweaver-5.27.0/src/destructedstate.cpp threadweaver-5.46.0/src/destructedstate.cpp --- threadweaver-5.27.0/src/destructedstate.cpp 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/src/destructedstate.cpp 2018-05-05 12:40:22.000000000 +0000 @@ -32,7 +32,7 @@ { DestructedState::DestructedState(QueueSignals *) - : WeaverImplState(0) // make sure we cannot use weaver, ever :-) + : WeaverImplState(nullptr) // make sure we cannot use weaver, ever :-) { } @@ -42,12 +42,12 @@ Weaver *DestructedState::weaver() { - return 0; + return nullptr; } const Weaver *DestructedState::weaver() const { - return 0; + return nullptr; } void DestructedState::setMaximumNumberOfThreads(int) diff -Nru threadweaver-5.27.0/src/executewrapper.cpp threadweaver-5.46.0/src/executewrapper.cpp --- threadweaver-5.27.0/src/executewrapper.cpp 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/src/executewrapper.cpp 2018-05-05 12:40:22.000000000 +0000 @@ -42,13 +42,13 @@ { Executor *executor = job->setExecutor(wrapped.fetchAndAddOrdered(0)); Q_ASSERT_X(executor == this, Q_FUNC_INFO, "ExecuteWrapper can only unwrap itself!"); - wrapped.fetchAndStoreOrdered(0); + wrapped.fetchAndStoreOrdered(nullptr); return executor; } void ExecuteWrapper::begin(const JobPointer& job, Thread *thread) { - Q_ASSERT(wrapped.loadAcquire() != 0); + Q_ASSERT(wrapped.loadAcquire() != nullptr); wrapped.loadAcquire()->begin(job, thread); } @@ -60,13 +60,13 @@ void ExecuteWrapper::executeWrapped(const JobPointer& job, Thread *thread) { Executor *executor = wrapped.loadAcquire(); - Q_ASSERT_X(executor != 0, Q_FUNC_INFO, "Wrapped Executor cannot be zero!"); + Q_ASSERT_X(executor != nullptr, Q_FUNC_INFO, "Wrapped Executor cannot be zero!"); executor->execute(job, thread); } void ExecuteWrapper::end(const JobPointer& job, Thread *thread) { - Q_ASSERT(wrapped.loadAcquire() != 0); + Q_ASSERT(wrapped.loadAcquire() != nullptr); wrapped.loadAcquire()->end(job, thread); } diff -Nru threadweaver-5.27.0/src/iddecorator.cpp threadweaver-5.46.0/src/iddecorator.cpp --- threadweaver-5.27.0/src/iddecorator.cpp 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/src/iddecorator.cpp 2018-05-05 12:40:22.000000000 +0000 @@ -43,7 +43,7 @@ // autoDelete setting. The goal is not to require a dynamic allocation on creation. IdDecorator::IdDecorator(JobInterface *decoratee, bool autoDelete) : d1(reinterpret_cast(decoratee)) - , d2(0) + , d2(nullptr) { setAutoDelete(autoDelete); } @@ -199,7 +199,7 @@ if (onOff) { d2 = reinterpret_cast(IdDecorator_AutoDelete); } else { - d2 = 0; + d2 = nullptr; } } diff -Nru threadweaver-5.27.0/src/job.cpp threadweaver-5.46.0/src/job.cpp --- threadweaver-5.27.0/src/job.cpp 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/src/job.cpp 2018-05-05 12:40:22.000000000 +0000 @@ -29,8 +29,8 @@ #include "job.h" #include "job_p.h" -#include -#include +#include +#include #include "debuggingaids.h" #include "thread.h" #include @@ -101,12 +101,12 @@ void Job::blockingExecute() { - execute(ManagedJobPointer(this), 0); + execute(ManagedJobPointer(this), nullptr); } Executor *Job::setExecutor(Executor *executor) { - return d()->executor.fetchAndStoreOrdered(executor == 0 ? &Private::defaultExecutor : executor); + return d()->executor.fetchAndStoreOrdered(executor == nullptr ? &Private::defaultExecutor : executor); } Executor *Job::executor() const diff -Nru threadweaver-5.27.0/src/qobjectdecorator.h threadweaver-5.46.0/src/qobjectdecorator.h --- threadweaver-5.27.0/src/qobjectdecorator.h 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/src/qobjectdecorator.h 2018-05-05 12:40:22.000000000 +0000 @@ -27,7 +27,7 @@ #ifndef THREADWEAVER_QOBJECTDECORATOR_H #define THREADWEAVER_QOBJECTDECORATOR_H -#include +#include #include "threadweaver_export.h" #include "iddecorator.h" @@ -42,8 +42,8 @@ { Q_OBJECT public: - explicit QObjectDecorator(JobInterface *decoratee, QObject *parent = 0); - explicit QObjectDecorator(JobInterface *decoratee, bool autoDelete, QObject *parent = 0); + explicit QObjectDecorator(JobInterface *decoratee, QObject *parent = nullptr); + explicit QObjectDecorator(JobInterface *decoratee, bool autoDelete, QObject *parent = nullptr); Q_SIGNALS: /** This signal is emitted when this job is being processed by a thread. */ diff -Nru threadweaver-5.27.0/src/queue.cpp threadweaver-5.46.0/src/queue.cpp --- threadweaver-5.27.0/src/queue.cpp 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/src/queue.cpp 2018-05-05 12:40:22.000000000 +0000 @@ -25,9 +25,9 @@ */ -#include -#include -#include +#include +#include +#include #include "queue.h" #include "weaver.h" @@ -39,13 +39,13 @@ static Queue::GlobalQueueFactory *globalQueueFactory; } -class Queue::Private +class Q_DECL_HIDDEN Queue::Private { public: Private(Queue *q, QueueSignals *queue) : implementation(queue) { - Q_ASSERT_X(qApp != 0, Q_FUNC_INFO, "Cannot create global ThreadWeaver instance before QApplication!"); + Q_ASSERT_X(qApp != nullptr, Q_FUNC_INFO, "Cannot create global ThreadWeaver instance before QApplication!"); Q_ASSERT(queue); queue->setParent(q); q->connect(implementation, SIGNAL(finished()), SIGNAL(finished())); @@ -134,7 +134,7 @@ : QObject(app) , instance_(instance) { - Q_ASSERT_X(app != 0, Q_FUNC_INFO, "Calling ThreadWeaver::Weaver::instance() requires a QCoreApplication!"); + Q_ASSERT_X(app != nullptr, Q_FUNC_INFO, "Calling ThreadWeaver::Weaver::instance() requires a QCoreApplication!"); QObject *impl = instance.load()->findChild(); Q_ASSERT(impl); impl->setObjectName(QStringLiteral("GlobalQueue")); @@ -143,9 +143,9 @@ ~StaticThreadWeaverInstanceGuard() { - instance_.fetchAndStoreOrdered(0); + instance_.fetchAndStoreOrdered(nullptr); delete globalQueueFactory; - globalQueueFactory = 0; + globalQueueFactory = nullptr; } private: static void shutDownGlobalQueue() @@ -178,7 +178,7 @@ //the object s_instance pointed to. static StaticThreadWeaverInstanceGuard *s_instanceGuard = new StaticThreadWeaverInstanceGuard(s_instance, qApp); Q_UNUSED(s_instanceGuard); - Q_ASSERT_X(s_instance.load() == 0 || s_instance.load()->thread() == QCoreApplication::instance()->thread(), + Q_ASSERT_X(s_instance.load() == nullptr || s_instance.load()->thread() == QCoreApplication::instance()->thread(), Q_FUNC_INFO, "The global ThreadWeaver queue needs to be instantiated (accessed first) from the main thread!"); return s_instance.loadAcquire(); diff -Nru threadweaver-5.27.0/src/queue.h threadweaver-5.46.0/src/queue.h --- threadweaver-5.27.0/src/queue.h 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/src/queue.h 2018-05-05 12:40:22.000000000 +0000 @@ -28,7 +28,7 @@ #ifndef THREADWEAVER_QUEUE_H #define THREADWEAVER_QUEUE_H -#include +#include #include "queuesignals.h" #include "queuestream.h" @@ -56,10 +56,10 @@ { Q_OBJECT public: - explicit Queue(QObject *parent = 0); + explicit Queue(QObject *parent = nullptr); /** @brief Construct a queue with a customized implementation * The queue takes ownership and will delete the implementation upon destruction. */ - explicit Queue(QueueSignals *implementation, QObject *parent = 0); + explicit Queue(QueueSignals *implementation, QObject *parent = nullptr); virtual ~Queue(); QueueStream stream(); diff -Nru threadweaver-5.27.0/src/queueapi.h threadweaver-5.46.0/src/queueapi.h --- threadweaver-5.27.0/src/queueapi.h 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/src/queueapi.h 2018-05-05 12:40:22.000000000 +0000 @@ -41,11 +41,11 @@ Q_OBJECT public: - explicit QueueAPI(QObject *parent = 0); - explicit QueueAPI(ThreadWeaver::Private::QueueSignals_Private* d, QObject *parent = 0); + explicit QueueAPI(QObject *parent = nullptr); + explicit QueueAPI(ThreadWeaver::Private::QueueSignals_Private* d, QObject *parent = nullptr); virtual void shutDown_p() = 0; - virtual const State *state() const = 0; + const State *state() const Q_DECL_OVERRIDE = 0; virtual State *state() = 0; virtual void setMaximumNumberOfThreads_p(int cap) = 0; virtual int maximumNumberOfThreads_p() const = 0; diff -Nru threadweaver-5.27.0/src/queueinterface.h threadweaver-5.46.0/src/queueinterface.h --- threadweaver-5.27.0/src/queueinterface.h 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/src/queueinterface.h 2018-05-05 12:40:22.000000000 +0000 @@ -28,7 +28,7 @@ #ifndef WeaverInterface_H #define WeaverInterface_H -#include +#include #include #include "threadweaver_export.h" diff -Nru threadweaver-5.27.0/src/queuesignals.cpp threadweaver-5.46.0/src/queuesignals.cpp --- threadweaver-5.27.0/src/queuesignals.cpp 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/src/queuesignals.cpp 2018-05-05 12:40:22.000000000 +0000 @@ -26,20 +26,15 @@ */ #include "queuesignals.h" +#include "queuesignals_p.h" namespace ThreadWeaver { -namespace Private { - -class QueueSignals_Private {}; - -} - /** @brief Construct a QueueSignals object, passing the QObject parent. */ QueueSignals::QueueSignals(QObject *parent) : QObject(parent) - , m_d(0) + , m_d(nullptr) { } @@ -52,7 +47,7 @@ QueueSignals::~QueueSignals() { delete m_d; - m_d = 0; + m_d = nullptr; } Private::QueueSignals_Private *QueueSignals::d() diff -Nru threadweaver-5.27.0/src/queuesignals.h threadweaver-5.46.0/src/queuesignals.h --- threadweaver-5.27.0/src/queuesignals.h 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/src/queuesignals.h 2018-05-05 12:40:22.000000000 +0000 @@ -28,7 +28,7 @@ #ifndef THREADWEAVER_QUEUESIGNALS_H #define THREADWEAVER_QUEUESIGNALS_H -#include +#include #include "queueinterface.h" namespace ThreadWeaver @@ -37,12 +37,12 @@ namespace Private { class QueueSignals_Private; } /** @brief QueueSignals declares the Qt signals shared by the Queue and Weaver classes. */ -class QueueSignals : public QObject, public QueueInterface +class THREADWEAVER_EXPORT QueueSignals : public QObject, public QueueInterface { Q_OBJECT public: - explicit QueueSignals(QObject *parent = 0); - explicit QueueSignals(ThreadWeaver::Private::QueueSignals_Private* d, QObject *parent = 0); + explicit QueueSignals(QObject *parent = nullptr); + explicit QueueSignals(ThreadWeaver::Private::QueueSignals_Private* d, QObject *parent = nullptr); virtual ~QueueSignals(); Q_SIGNALS: diff -Nru threadweaver-5.27.0/src/queuesignals_p.cpp threadweaver-5.46.0/src/queuesignals_p.cpp --- threadweaver-5.27.0/src/queuesignals_p.cpp 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/src/queuesignals_p.cpp 2018-05-05 12:40:22.000000000 +0000 @@ -30,3 +30,7 @@ ThreadWeaver::Private::QueueSignals_Private::QueueSignals_Private() { } + +ThreadWeaver::Private::QueueSignals_Private::~QueueSignals_Private() +{ +} diff -Nru threadweaver-5.27.0/src/queuesignals_p.h threadweaver-5.46.0/src/queuesignals_p.h --- threadweaver-5.27.0/src/queuesignals_p.h 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/src/queuesignals_p.h 2018-05-05 12:40:22.000000000 +0000 @@ -36,6 +36,7 @@ { public: QueueSignals_Private(); + virtual ~QueueSignals_Private(); }; } diff -Nru threadweaver-5.27.0/src/queuestream.cpp threadweaver-5.46.0/src/queuestream.cpp --- threadweaver-5.27.0/src/queuestream.cpp 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/src/queuestream.cpp 2018-05-05 12:40:22.000000000 +0000 @@ -34,7 +34,7 @@ namespace ThreadWeaver { -class QueueStream::Private +class Q_DECL_HIDDEN QueueStream::Private { public: Private(Queue *w) : weaver(w) {} diff -Nru threadweaver-5.27.0/src/resourcerestrictionpolicy.cpp threadweaver-5.46.0/src/resourcerestrictionpolicy.cpp --- threadweaver-5.27.0/src/resourcerestrictionpolicy.cpp 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/src/resourcerestrictionpolicy.cpp 2018-05-05 12:40:22.000000000 +0000 @@ -28,15 +28,15 @@ #include "resourcerestrictionpolicy.h" -#include -#include +#include +#include #include "debuggingaids.h" #include "managedjobpointer.h" using namespace ThreadWeaver; -class ResourceRestrictionPolicy::Private +class Q_DECL_HIDDEN ResourceRestrictionPolicy::Private { public: Private(int theCap) diff -Nru threadweaver-5.27.0/src/sequence_p.cpp threadweaver-5.46.0/src/sequence_p.cpp --- threadweaver-5.27.0/src/sequence_p.cpp 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/src/sequence_p.cpp 2018-05-05 12:40:22.000000000 +0000 @@ -58,7 +58,7 @@ void Sequence_Private::processCompletedElement(Collection* collection, JobPointer job, Thread*) { Q_ASSERT(!mutex.tryLock()); - Q_ASSERT(job != 0); + Q_ASSERT(job != nullptr); Q_ASSERT(!self.isNull()); const JobInterface::Status status = job->status(); if (status != JobInterface::Status_Success) { diff -Nru threadweaver-5.27.0/src/state.cpp threadweaver-5.46.0/src/state.cpp --- threadweaver-5.27.0/src/state.cpp 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/src/state.cpp 2018-05-05 12:40:22.000000000 +0000 @@ -28,7 +28,7 @@ #include "state.h" -#include +#include namespace ThreadWeaver { @@ -42,7 +42,7 @@ "Destructed" }; -class State::Private +class Q_DECL_HIDDEN State::Private { public: Private(QueueInterface *theWeaver) diff -Nru threadweaver-5.27.0/src/thread.cpp threadweaver-5.46.0/src/thread.cpp --- threadweaver-5.27.0/src/thread.cpp 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/src/thread.cpp 2018-05-05 12:40:22.000000000 +0000 @@ -28,10 +28,10 @@ #include "thread.h" -#include -#include +#include +#include #include -#include +#include #include "threadweaver.h" #include "weaver.h" @@ -41,13 +41,13 @@ using namespace ThreadWeaver; -class Thread::Private +class Q_DECL_HIDDEN Thread::Private { public: explicit Private(Weaver *theParent) : parent(theParent) , id(makeId()) - , job(0) + , job(nullptr) { Q_ASSERT(parent); } @@ -88,7 +88,7 @@ void Thread::run() { Q_ASSERT(d->parent); - Q_ASSERT(QCoreApplication::instance() != 0); + Q_ASSERT(QCoreApplication::instance() != nullptr); d->parent->threadEnteredRun(this); emit started(this); diff -Nru threadweaver-5.27.0/src/thread.h threadweaver-5.46.0/src/thread.h --- threadweaver-5.27.0/src/thread.h 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/src/thread.h 2018-05-05 12:40:22.000000000 +0000 @@ -28,8 +28,8 @@ #ifndef THREADWEAVER_THREAD_H #define THREADWEAVER_THREAD_H -#include -#include +#include +#include #include "threadweaver_export.h" #include "jobpointer.h" @@ -52,7 +52,7 @@ * * @param parent the parent Weaver */ - explicit Thread(Weaver *parent = 0); + explicit Thread(Weaver *parent = nullptr); /** The destructor. */ ~Thread(); diff -Nru threadweaver-5.27.0/src/weaver.cpp threadweaver-5.46.0/src/weaver.cpp --- threadweaver-5.27.0/src/weaver.cpp 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/src/weaver.cpp 2018-05-05 12:40:22.000000000 +0000 @@ -29,10 +29,10 @@ #include "weaver.h" -#include -#include -#include -#include +#include +#include +#include +#include #include "job.h" #include "managedjobpointer.h" @@ -107,7 +107,7 @@ // loop). for (;;) { - Thread *th = 0; + Thread *th = nullptr; { QMutexLocker l(d()->mutex); Q_UNUSED(l); if (d()->inventory.isEmpty()) { @@ -150,7 +150,7 @@ Q_ASSERT(!d()->mutex->tryLock()); //mutex has to be held when this method is called State *newState = d()->states[id].data(); State *previous = d()->state.fetchAndStoreOrdered(newState); - if (previous == 0 || previous->stateId() != id) { + if (previous == nullptr || previous->stateId() != id) { newState->activated(); TWDEBUG(2, "WeaverImpl::setState: state changed to \"%s\".\n", newState->stateName().toLatin1().constData()); if (id == Suspended) { diff -Nru threadweaver-5.27.0/src/weaver.h threadweaver-5.46.0/src/weaver.h --- threadweaver-5.27.0/src/weaver.h 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/src/weaver.h 2018-05-05 12:40:22.000000000 +0000 @@ -28,7 +28,7 @@ #ifndef WeaverImpl_H #define WeaverImpl_H -#include +#include #include "queueapi.h" namespace ThreadWeaver @@ -52,7 +52,7 @@ { Q_OBJECT public: - explicit Weaver(QObject *parent = 0); + explicit Weaver(QObject *parent = nullptr); virtual ~Weaver(); void shutDown() Q_DECL_OVERRIDE; void shutDown_p() Q_DECL_OVERRIDE; diff -Nru threadweaver-5.27.0/src/weaver_p.h threadweaver-5.46.0/src/weaver_p.h --- threadweaver-5.27.0/src/weaver_p.h 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/src/weaver_p.h 2018-05-05 12:40:22.000000000 +0000 @@ -46,7 +46,7 @@ { public: Weaver_Private(); - ~Weaver_Private(); + ~Weaver_Private() override; void dumpJobs(); diff -Nru threadweaver-5.27.0/src/workinghardstate.cpp threadweaver-5.46.0/src/workinghardstate.cpp --- threadweaver-5.27.0/src/workinghardstate.cpp 2016-10-02 08:19:47.000000000 +0000 +++ threadweaver-5.46.0/src/workinghardstate.cpp 2018-05-05 12:40:22.000000000 +0000 @@ -28,7 +28,7 @@ #include "workinghardstate.h" -#include +#include #include "job.h" #include "thread.h"