aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/utils/terminalinterface.cpp
diff options
context:
space:
mode:
authorMarcus Tillmanns <[email protected]>2023-06-30 10:14:54 +0200
committerMarcus Tillmanns <[email protected]>2023-06-30 11:14:49 +0000
commit6b8473a2e8e3fb8b2a716947b96459c389034c80 (patch)
tree8cacb145f03fe77b582e568994d194c36ef04fc4 /src/libs/utils/terminalinterface.cpp
parent9a04490de76de2498cb054a8212e4b4fa6134eb7 (diff)
Terminal: Fix exit reporting in error cases
Previously the finished signal was sent not sent soon enough for the Process to recognizes it correctly. Also, the process stub would exit prematurely in cases of crashes. The process stub should only return an error exit code if it did not show the "waiting for keypress" message. Fixes: QTCREATORBUG-29350 Change-Id: I86f7d75bacbdb5ee2b0009669926d94b6a75346a Reviewed-by: Cristian Adam <[email protected]>
Diffstat (limited to 'src/libs/utils/terminalinterface.cpp')
-rw-r--r--src/libs/utils/terminalinterface.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/libs/utils/terminalinterface.cpp b/src/libs/utils/terminalinterface.cpp
index fc69451c9c0..204cd79d7a1 100644
--- a/src/libs/utils/terminalinterface.cpp
+++ b/src/libs/utils/terminalinterface.cpp
@@ -280,8 +280,10 @@ void TerminalInterface::sendCommand(char c)
void TerminalInterface::killInferiorProcess()
{
sendCommand('k');
- if (d->stubSocket)
+ if (d->stubSocket) {
d->stubSocket->waitForReadyRead();
+ emitFinished(-1, QProcess::CrashExit);
+ }
}
void TerminalInterface::killStubProcess()