diff options
author | Jan Dalheimer <jan@dalheimer.de> | 2014-02-16 08:54:52 +0100 |
---|---|---|
committer | Jan Dalheimer <jan@dalheimer.de> | 2014-02-16 08:54:52 +0100 |
commit | 82b35b5445d88d67c89c6547b24053d31dc35b9c (patch) | |
tree | 333b6a40d558ab3022f7e68297f9b14863c854bc /gui/MainWindow.cpp | |
parent | 7ceb2cacb129d5924087f616cfc0b949689ed4fe (diff) | |
download | PrismLauncher-82b35b5445d88d67c89c6547b24053d31dc35b9c.tar.gz PrismLauncher-82b35b5445d88d67c89c6547b24053d31dc35b9c.tar.bz2 PrismLauncher-82b35b5445d88d67c89c6547b24053d31dc35b9c.zip |
Fix stuff. Make sure different ways of aborting profiling work.
Diffstat (limited to 'gui/MainWindow.cpp')
-rw-r--r-- | gui/MainWindow.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gui/MainWindow.cpp b/gui/MainWindow.cpp index 7c61ca9d..b28e753f 100644 --- a/gui/MainWindow.cpp +++ b/gui/MainWindow.cpp @@ -1256,6 +1256,7 @@ void MainWindow::launchInstance(BaseInstance *instance, AuthSessionPtr session, dialog.setMaximum(0); dialog.setValue(0); dialog.setLabelText(tr("Waiting for profiler...")); + connect(&dialog, &QDialog::rejected, profilerInstance, &BaseProfiler::abortProfiling); dialog.show(); connect(profilerInstance, &BaseProfiler::readyToLaunch, [&dialog, this](const QString &message) { @@ -1270,6 +1271,17 @@ void MainWindow::launchInstance(BaseInstance *instance, AuthSessionPtr session, msg.exec(); proc->launch(); }); + connect(profilerInstance, &BaseProfiler::abortLaunch, [&dialog, this](const QString &message) + { + dialog.accept(); + QMessageBox msg; + msg.setText(tr("Couldn't start the profiler: %1").arg(message)); + msg.setWindowTitle(tr("Error")); + msg.setIcon(QMessageBox::Critical); + msg.addButton(QMessageBox::Ok); + msg.exec(); + proc->abort(); + }); profilerInstance->beginProfiling(proc); dialog.exec(); } |