Browse Source

Use proper method for deferred calls

adaptive-webui-19844
Chocobo1 3 years ago
parent
commit
3f762a416d
No known key found for this signature in database
GPG Key ID: 210D9C873253A68C
  1. 3
      src/app/application.cpp
  2. 4
      src/base/search/searchhandler.cpp
  3. 8
      src/gui/mainwindow.cpp

3
src/app/application.cpp

@ -47,6 +47,7 @@
#include <QByteArray> #include <QByteArray>
#include <QDebug> #include <QDebug>
#include <QLibraryInfo> #include <QLibraryInfo>
#include <QMetaObject>
#include <QProcess> #include <QProcess>
#ifndef DISABLE_GUI #ifndef DISABLE_GUI
@ -770,7 +771,7 @@ void Application::shutdownCleanup(QSessionManager &manager)
// According to the qt docs we shouldn't call quit() inside a slot. // According to the qt docs we shouldn't call quit() inside a slot.
// aboutToQuit() is never emitted if the user hits "Cancel" in // aboutToQuit() is never emitted if the user hits "Cancel" in
// the above dialog. // the above dialog.
QTimer::singleShot(0, qApp, &QCoreApplication::quit); QMetaObject::invokeMethod(qApp, &QCoreApplication::quit, Qt::QueuedConnection);
} }
#endif #endif

4
src/base/search/searchhandler.cpp

@ -29,6 +29,7 @@
#include "searchhandler.h" #include "searchhandler.h"
#include <QMetaObject>
#include <QProcess> #include <QProcess>
#include <QTimer> #include <QTimer>
#include <QVector> #include <QVector>
@ -87,7 +88,8 @@ SearchHandler::SearchHandler(const QString &pattern, const QString &category, co
m_searchTimeout->start(180000); // 3 min m_searchTimeout->start(180000); // 3 min
// deferred start allows clients to handle starting-related signals // deferred start allows clients to handle starting-related signals
QTimer::singleShot(0, this, [this]() { m_searchProcess->start(QIODevice::ReadOnly); }); QMetaObject::invokeMethod(this, [this]() { m_searchProcess->start(QIODevice::ReadOnly); }
, Qt::QueuedConnection);
} }
bool SearchHandler::isActive() const bool SearchHandler::isActive() const

8
src/gui/mainwindow.cpp

@ -40,6 +40,7 @@
#include <QFileSystemWatcher> #include <QFileSystemWatcher>
#include <QKeyEvent> #include <QKeyEvent>
#include <QMessageBox> #include <QMessageBox>
#include <QMetaObject>
#include <QMimeData> #include <QMimeData>
#include <QProcess> #include <QProcess>
#include <QPushButton> #include <QPushButton>
@ -348,8 +349,7 @@ MainWindow::MainWindow(QWidget *parent)
on_actionWarningMessages_triggered(m_ui->actionWarningMessages->isChecked()); on_actionWarningMessages_triggered(m_ui->actionWarningMessages->isChecked());
on_actionCriticalMessages_triggered(m_ui->actionCriticalMessages->isChecked()); on_actionCriticalMessages_triggered(m_ui->actionCriticalMessages->isChecked());
if (m_ui->actionSearchWidget->isChecked()) if (m_ui->actionSearchWidget->isChecked())
QTimer::singleShot(0, this, &MainWindow::on_actionSearchWidget_triggered); QMetaObject::invokeMethod(this, &MainWindow::on_actionSearchWidget_triggered, Qt::QueuedConnection);
// Auto shutdown actions // Auto shutdown actions
auto *autoShutdownGroup = new QActionGroup(this); auto *autoShutdownGroup = new QActionGroup(this);
autoShutdownGroup->setExclusive(true); autoShutdownGroup->setExclusive(true);
@ -1195,7 +1195,7 @@ void MainWindow::closeEvent(QCloseEvent *e)
if (!m_forceExit && m_systrayIcon && goToSystrayOnExit && !this->isHidden()) if (!m_forceExit && m_systrayIcon && goToSystrayOnExit && !this->isHidden())
{ {
e->ignore(); e->ignore();
QTimer::singleShot(0, this, &QWidget::hide); QMetaObject::invokeMethod(this, &QWidget::hide, Qt::QueuedConnection);
if (!pref->closeToTrayNotified()) if (!pref->closeToTrayNotified())
{ {
showNotificationBalloon(tr("qBittorrent is closed to tray"), tr("This behavior can be changed in the settings. You won't be reminded again.")); showNotificationBalloon(tr("qBittorrent is closed to tray"), tr("This behavior can be changed in the settings. You won't be reminded again."));
@ -1292,7 +1292,7 @@ bool MainWindow::event(QEvent *e)
{ {
qDebug("Minimize to Tray enabled, hiding!"); qDebug("Minimize to Tray enabled, hiding!");
e->ignore(); e->ignore();
QTimer::singleShot(0, this, &QWidget::hide); QMetaObject::invokeMethod(this, &QWidget::hide, Qt::QueuedConnection);
if (!pref->minimizeToTrayNotified()) if (!pref->minimizeToTrayNotified())
{ {
showNotificationBalloon(tr("qBittorrent is minimized to tray"), tr("This behavior can be changed in the settings. You won't be reminded again.")); showNotificationBalloon(tr("qBittorrent is minimized to tray"), tr("This behavior can be changed in the settings. You won't be reminded again."));

Loading…
Cancel
Save