diff --git a/kdecore/config/kconfig.cpp b/kdecore/config/kconfig.cpp index fbffb565..bdfef220 100644 --- a/kdecore/config/kconfig.cpp +++ b/kdecore/config/kconfig.cpp @@ -50,8 +50,6 @@ #include #include -bool KConfigPrivate::mappingsRegistered=false; - KConfigPrivate::KConfigPrivate(const KComponentData &componentData_, KConfig::OpenFlags flags, const char* resource) : openFlags(flags), resourceType(resource), mBackend(0), diff --git a/kdecore/config/kconfig_p.h b/kdecore/config/kconfig_p.h index 677390e3..436cf641 100644 --- a/kdecore/config/kconfig_p.h +++ b/kdecore/config/kconfig_p.h @@ -84,8 +84,6 @@ private: bool bSuppressGlobal:1; QString sGlobalFileName; - static bool mappingsRegistered; - KEntryMap entryMap; QString backendType; diff --git a/kdecore/services/ktraderparse.cpp b/kdecore/services/ktraderparse.cpp index 5aa6bc6f..8509de17 100644 --- a/kdecore/services/ktraderparse.cpp +++ b/kdecore/services/ktraderparse.cpp @@ -45,15 +45,24 @@ struct ParsingData using namespace KTraderParse; -thread_local ParsingData* s_parsingData = 0; +thread_local ParsingData* s_parsingData = nullptr; + +static int KTraderParseDeinit() { + delete s_parsingData; + return 0; +} +Q_DESTRUCTOR_FUNCTION(KTraderParseDeinit); ParseTreeBase::Ptr KTraderParse::parseConstraints( const QString& _constr ) { + if (s_parsingData) { + s_parsingData->ptr.clear(); + delete s_parsingData; + } s_parsingData = new ParsingData(); s_parsingData->buffer = _constr.toUtf8(); KTraderParse_mainParse(s_parsingData->buffer.constData()); ParseTreeBase::Ptr ret = s_parsingData->ptr; - s_parsingData = 0; return ret; } diff --git a/kdecore/tests/kfiltertest.cpp b/kdecore/tests/kfiltertest.cpp index fbe9b73f..4cd438e6 100644 --- a/kdecore/tests/kfiltertest.cpp +++ b/kdecore/tests/kfiltertest.cpp @@ -385,6 +385,7 @@ void KFilterTest::test_pushData() // ### UNFINISHED QCOMPARE(inBuffer.data().size(), compressed.size()); read += flt->readAll(); qDebug() << QString::fromLatin1(read); + delete flt; // ### indeed, doesn't work currently. So we use HTTPFilter instead, for now. } diff --git a/kdecore/tests/klocaletest.cpp b/kdecore/tests/klocaletest.cpp index eaa195cb..a8b574ff 100644 --- a/kdecore/tests/klocaletest.cpp +++ b/kdecore/tests/klocaletest.cpp @@ -1051,6 +1051,7 @@ void KLocaleTest::testDayPeriods() QCOMPARE( locale.d->dayPeriodForTime( QTime( 1, 0, 0 ) ).periodName( KLocale::ShortName ), QString( "T1" ) ); QCOMPARE( locale.d->dayPeriodForTime( QTime( 11, 0, 0 ) ).periodName( KLocale::ShortName ), QString( "T2" ) ); QCOMPARE( locale.d->dayPeriodForTime( QTime( 21, 0, 0 ) ).periodName( KLocale::ShortName ), QString( "T3" ) ); + delete testConfig; } void KLocaleTest::testCalendarSystemType() diff --git a/kdecore/tests/klockfiletest.cpp b/kdecore/tests/klockfiletest.cpp index 0fac515a..4518efcd 100644 --- a/kdecore/tests/klockfiletest.cpp +++ b/kdecore/tests/klockfiletest.cpp @@ -70,6 +70,13 @@ Test_KLockFile::initTestCase() lockFile = new KLockFile(QLatin1String(lockName)); } +void +Test_KLockFile::cleanupTestCase() +{ + delete lockFile; + lockFile = nullptr; +} + static KLockFile::LockResult testLockFromProcess(const QString& lockName) { const int ret = QProcess::execute(KDEBINDIR "/kdecore-klockfile_testlock", QStringList() << lockName); @@ -136,14 +143,15 @@ Test_KLockFile::testStaleNoBlockFlag() stream.flush(); f.close(); - lockFile = new KLockFile(QLatin1String(lockName)); - QVERIFY(!lockFile->isLocked()); - QCOMPARE(lockFile->lock(KLockFile::NoBlockFlag), KLockFile::LockStale); + KLockFile* lockFile2 = new KLockFile(QLatin1String(lockName)); + QVERIFY(!lockFile2->isLocked()); + QCOMPARE(lockFile2->lock(KLockFile::NoBlockFlag), KLockFile::LockStale); QByteArray expectedMsg = QByteArray("WARNING: deleting stale lockfile ") + lockName; QTest::ignoreMessage(QtWarningMsg, expectedMsg); - QCOMPARE(lockFile->lock(KLockFile::NoBlockFlag|KLockFile::ForceFlag), KLockFile::LockOK); + QCOMPARE(lockFile2->lock(KLockFile::NoBlockFlag|KLockFile::ForceFlag), KLockFile::LockOK); - QVERIFY(lockFile->isLocked()); + QVERIFY(lockFile2->isLocked()); + delete lockFile2; } diff --git a/kdecore/tests/klockfiletest.h b/kdecore/tests/klockfiletest.h index 9ec2e865..82d6fe0b 100644 --- a/kdecore/tests/klockfiletest.h +++ b/kdecore/tests/klockfiletest.h @@ -24,15 +24,16 @@ class Test_KLockFile : public QObject { - Q_OBJECT + Q_OBJECT - KLockFile *lockFile; + KLockFile *lockFile; private Q_SLOTS: - void initTestCase(); - void testLock(); - void testStale(); - void testUnlock(); - void testStaleNoBlockFlag(); + void initTestCase(); + void cleanupTestCase(); + void testLock(); + void testStale(); + void testUnlock(); + void testStaleNoBlockFlag(); }; #endif diff --git a/kdecore/tests/kurlmimetest.cpp b/kdecore/tests/kurlmimetest.cpp index 53cf8325..579078f4 100644 --- a/kdecore/tests/kurlmimetest.cpp +++ b/kdecore/tests/kurlmimetest.cpp @@ -134,5 +134,5 @@ void KUrlMimeTest::testMostLocalUrlList() QCOMPARE(qurls.count(), localUrls.count()); for (int i = 0; i < qurls.count(); ++i ) QCOMPARE(qurls[i], static_cast(localUrls[i])); - + delete mimeData; } diff --git a/kutils/kexiv2/kexiv2.cpp b/kutils/kexiv2/kexiv2.cpp index 53c90b37..cb266a1b 100644 --- a/kutils/kexiv2/kexiv2.cpp +++ b/kutils/kexiv2/kexiv2.cpp @@ -55,7 +55,7 @@ static int KExiv2Init() } Q_CONSTRUCTOR_FUNCTION(KExiv2Init); -int KExiv2Deinit() +static int KExiv2Deinit() { Exiv2::XmpParser::terminate(); return 0; diff --git a/plasma/tests/storagetest.cpp b/plasma/tests/storagetest.cpp index 43ee5581..625303ed 100644 --- a/plasma/tests/storagetest.cpp +++ b/plasma/tests/storagetest.cpp @@ -41,11 +41,11 @@ void StorageTest::store() StorageJob *storageJob = qobject_cast(job); QVERIFY(storageJob); - if (storageJob) { - storageJob->setData(m_data); - QVERIFY(storageJob->exec()); - QVERIFY(storageJob->result().toBool()); - } + storageJob->setAutoDelete(false); + storageJob->setData(m_data); + QVERIFY(storageJob->exec()); + QVERIFY(storageJob->result().toBool()); + storageJob->deleteLater(); } void StorageTest::retrieve() @@ -57,11 +57,11 @@ void StorageTest::retrieve() StorageJob *storageJob = qobject_cast(job); QVERIFY(storageJob); - if (storageJob) { - QVERIFY(storageJob->exec()); - QVERIFY(storageJob->result().type() != QVariant::Bool); - QCOMPARE(storageJob->data(), m_data); - } + storageJob->setAutoDelete(false); + QVERIFY(storageJob->exec()); + QVERIFY(storageJob->result().type() != QVariant::Bool); + QCOMPARE(storageJob->data(), m_data); + storageJob->deleteLater(); } void StorageTest::deleteEntry() @@ -73,11 +73,11 @@ void StorageTest::deleteEntry() StorageJob *storageJob = qobject_cast(job); QVERIFY(storageJob); - if (storageJob) { - storageJob->setData(m_data); - QVERIFY(storageJob->exec()); - QVERIFY(storageJob->result().toBool()); - } + storageJob->setAutoDelete(false); + storageJob->setData(m_data); + QVERIFY(storageJob->exec()); + QVERIFY(storageJob->result().toBool()); + storageJob->deleteLater(); op = storage.operationDescription("retrieve"); op.writeEntry("group", "Test"); @@ -85,11 +85,11 @@ void StorageTest::deleteEntry() storageJob = qobject_cast(job); QVERIFY(storageJob); - if (storageJob) { - QVERIFY(storageJob->exec()); - QVERIFY(storageJob->result().type() != QVariant::Bool); - QVERIFY(storageJob->data().isEmpty()); - } + storageJob->setAutoDelete(false); + QVERIFY(storageJob->exec()); + QVERIFY(storageJob->result().type() != QVariant::Bool); + QVERIFY(storageJob->data().isEmpty()); + storageJob->deleteLater(); } QTEST_KDEMAIN(StorageTest, NoGUI)