diff options
author | David Schulz <[email protected]> | 2023-10-23 11:29:47 +0200 |
---|---|---|
committer | David Schulz <[email protected]> | 2023-10-23 10:24:48 +0000 |
commit | 30ef90c3221ced0241a18f6f0ffe676b4480f900 (patch) | |
tree | b65cd5424ef808e4d9ba5043aa5b489aebebe045 /src/plugins/terminal/terminalwidget.cpp | |
parent | 6f4b9639cef17d70e6e9851821d4d8c68d486498 (diff) |
Terminal: add finished signal
Change-Id: I9d560d1f1bbaa94ae75420002744073a1e8fad1a
Reviewed-by: Marcus Tillmanns <[email protected]>
Diffstat (limited to 'src/plugins/terminal/terminalwidget.cpp')
-rw-r--r-- | src/plugins/terminal/terminalwidget.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/plugins/terminal/terminalwidget.cpp b/src/plugins/terminal/terminalwidget.cpp index 604a0d82bc8..44b55c85960 100644 --- a/src/plugins/terminal/terminalwidget.cpp +++ b/src/plugins/terminal/terminalwidget.cpp @@ -151,10 +151,10 @@ void TerminalWidget::setupPty() connect(m_process.get(), &Process::done, this, [this] { QString errorMessage; + const int exitCode = QTC_GUARD(m_process) ? m_process->exitCode() : -1; if (m_process) { - if (m_process->exitCode() != 0) { - errorMessage - = Tr::tr("Terminal process exited with code %1").arg(m_process->exitCode()); + if (exitCode != 0) { + errorMessage = Tr::tr("Terminal process exited with code %1").arg(exitCode); if (!m_process->errorString().isEmpty()) errorMessage += QString(" (%1)").arg(m_process->errorString()); @@ -181,14 +181,14 @@ void TerminalWidget::setupPty() writeToTerminal(msg, true); } else { - QString exitMsg = Tr::tr("Process exited with code: %1") - .arg(m_process ? m_process->exitCode() : -1); + QString exitMsg = Tr::tr("Process exited with code: %1").arg(exitCode); QByteArray msg = QString("\r\n%1").arg(exitMsg).toUtf8(); writeToTerminal(msg, true); } } else if (!errorMessage.isEmpty()) { Core::MessageManager::writeFlashing(errorMessage); } + emit finised(exitCode); }); connect(m_process.get(), &Process::started, this, [this] { |