aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/haskell/haskellmanager.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/plugins/haskell/haskellmanager.cpp b/plugins/haskell/haskellmanager.cpp
index 2604341..dd6a371 100644
--- a/plugins/haskell/haskellmanager.cpp
+++ b/plugins/haskell/haskellmanager.cpp
@@ -111,11 +111,13 @@ void HaskellManager::openGhci(const FilePath &haskellFile)
p->setTerminalMode(TerminalMode::On);
p->setCommand({stackExecutable(), args});
p->setWorkingDirectory(haskellFile.absolutePath());
- connect(p, &QtcProcess::errorOccurred, p, [p] {
- Core::MessageManager::writeDisrupting(tr("Failed to run GHCi: \"%1\".").arg(p->errorString()));
+ connect(p, &QtcProcess::done, p, [p] {
+ if (p->result() != ProcessResult::FinishedWithSuccess) {
+ Core::MessageManager::writeDisrupting(
+ tr("Failed to run GHCi: \"%1\".").arg(p->errorString()));
+ }
p->deleteLater();
});
- connect(p, &QtcProcess::finished, p, &QObject::deleteLater);
p->start();
}