Guarding QTimer::singelShot operations, avoid to access dangling pointers

This commit is contained in:
Klaus Basan
2018-04-14 23:16:55 +02:00
committed by Roland Winklmeier
parent b5ba4013dd
commit 1b8383bee1
10 changed files with 52 additions and 8 deletions

View File

@@ -69,7 +69,12 @@ namespace BlackGui
bool CConfigurationWizard::event(QEvent *event)
{
if (event->type() != QEvent::EnterWhatsThisMode) { return QDialog::event(event); }
QTimer::singleShot(0, this, [ = ] { sGui->showHelp(this); });
const QPointer<CConfigurationWizard> guard(this);
QTimer::singleShot(0, this, [ = ]
{
if (guard.isNull() || !sGui || sGui->isShuttingDown()) { return; }
sGui->showHelp(this);
});
return true;
}