From de7d9c960dadd2a71a200c10890db4f40a26dc8e Mon Sep 17 00:00:00 2001 From: Vladimir Golovnev Date: Wed, 6 Aug 2025 16:28:31 +0300 Subject: [PATCH] Forbid usage of context-less connections PR #23032. --- cmake/Modules/CommonConfig.cmake | 1 + src/base/bittorrent/sessionimpl.cpp | 2 +- src/base/rss/rss_autodownloader.cpp | 2 +- src/base/rss/rss_session.cpp | 4 ++-- src/gui/addnewtorrentdialog.cpp | 2 +- 5 files changed, 6 insertions(+), 5 deletions(-) diff --git a/cmake/Modules/CommonConfig.cmake b/cmake/Modules/CommonConfig.cmake index 32aebd62e..b66019fd6 100644 --- a/cmake/Modules/CommonConfig.cmake +++ b/cmake/Modules/CommonConfig.cmake @@ -24,6 +24,7 @@ target_compile_definitions(qbt_common_cfg INTERFACE QT_NO_CAST_FROM_ASCII QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_BYTEARRAY + QT_NO_CONTEXTLESS_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_USE_QSTRINGBUILDER QT_STRICT_ITERATORS diff --git a/src/base/bittorrent/sessionimpl.cpp b/src/base/bittorrent/sessionimpl.cpp index 3bdd9ff13..5baba9c08 100644 --- a/src/base/bittorrent/sessionimpl.cpp +++ b/src/base/bittorrent/sessionimpl.cpp @@ -1649,7 +1649,7 @@ void SessionImpl::endStartup(ResumeSessionContext *context) if (context->currentStorageType == ResumeDataStorageType::Legacy) { - connect(context->startupStorage, &QObject::destroyed, [dbPath] + connect(context->startupStorage, &QObject::destroyed, this, [dbPath] { Utils::Fs::removeFile(dbPath); }); diff --git a/src/base/rss/rss_autodownloader.cpp b/src/base/rss/rss_autodownloader.cpp index 294e3289e..873223dbd 100644 --- a/src/base/rss/rss_autodownloader.cpp +++ b/src/base/rss/rss_autodownloader.cpp @@ -118,7 +118,7 @@ AutoDownloader::AutoDownloader(IApplication *app) m_fileStorage->moveToThread(m_ioThread.get()); connect(m_ioThread.get(), &QThread::finished, m_fileStorage, &AsyncFileStorage::deleteLater); - connect(m_fileStorage, &AsyncFileStorage::failed, [](const Path &fileName, const QString &errorString) + connect(m_fileStorage, &AsyncFileStorage::failed, this, [](const Path &fileName, const QString &errorString) { LogMsg(tr("Couldn't save RSS AutoDownloader data in %1. Error: %2") .arg(fileName.toString(), errorString), Log::CRITICAL); diff --git a/src/base/rss/rss_session.cpp b/src/base/rss/rss_session.cpp index 53cf8b3f5..1fb266403 100644 --- a/src/base/rss/rss_session.cpp +++ b/src/base/rss/rss_session.cpp @@ -74,7 +74,7 @@ Session::Session() m_confFileStorage = new AsyncFileStorage(specialFolderLocation(SpecialFolder::Config) / Path(CONF_FOLDER_NAME)); m_confFileStorage->moveToThread(m_workingThread.get()); connect(m_workingThread.get(), &QThread::finished, m_confFileStorage, &AsyncFileStorage::deleteLater); - connect(m_confFileStorage, &AsyncFileStorage::failed, [](const Path &fileName, const QString &errorString) + connect(m_confFileStorage, &AsyncFileStorage::failed, this, [](const Path &fileName, const QString &errorString) { LogMsg(tr("Couldn't save RSS session configuration. File: \"%1\". Error: \"%2\"") .arg(fileName.toString(), errorString), Log::WARNING); @@ -83,7 +83,7 @@ Session::Session() m_dataFileStorage = new AsyncFileStorage(specialFolderLocation(SpecialFolder::Data) / Path(DATA_FOLDER_NAME)); m_dataFileStorage->moveToThread(m_workingThread.get()); connect(m_workingThread.get(), &QThread::finished, m_dataFileStorage, &AsyncFileStorage::deleteLater); - connect(m_dataFileStorage, &AsyncFileStorage::failed, [](const Path &fileName, const QString &errorString) + connect(m_dataFileStorage, &AsyncFileStorage::failed, this, [](const Path &fileName, const QString &errorString) { LogMsg(tr("Couldn't save RSS session data. File: \"%1\". Error: \"%2\"") .arg(fileName.toString(), errorString), Log::WARNING); diff --git a/src/gui/addnewtorrentdialog.cpp b/src/gui/addnewtorrentdialog.cpp index 8954a1c4d..a82dabf52 100644 --- a/src/gui/addnewtorrentdialog.cpp +++ b/src/gui/addnewtorrentdialog.cpp @@ -376,7 +376,7 @@ AddNewTorrentDialog::AddNewTorrentDialog(const BitTorrent::TorrentDescriptor &to connect(m_filterLine, &LineEdit::textChanged, this, &AddNewTorrentDialog::setContentFilterPattern); connect(m_ui->buttonSelectAll, &QPushButton::clicked, m_ui->contentTreeView, &TorrentContentWidget::checkAll); connect(m_ui->buttonSelectNone, &QPushButton::clicked, m_ui->contentTreeView, &TorrentContentWidget::checkNone); - connect(Preferences::instance(), &Preferences::changed, [] + connect(Preferences::instance(), &Preferences::changed, this, [] { const int length = Preferences::instance()->addNewTorrentDialogSavePathHistoryLength(); settings()->storeValue(KEY_SAVEPATHHISTORY, settings()->loadValue(KEY_SAVEPATHHISTORY).mid(0, length));