From f572f7da39535cd9ca4eb86cc8bba16a8435c7b6 Mon Sep 17 00:00:00 2001
From: Orgad Shaneh <orgad.shaneh@audiocodes.com>
Date: Sat, 12 Nov 2016 23:20:32 +0200
Subject: [PATCH] Debugger: Prevent popup on shutdown when debugger is running

* Run a debugger (of any kind)
* Close Qt Creator window
* When prompted to shutdown choose Yes
* An error message box appears with "Unexpected GDB exit"

This is not a real solution, but a quick hack to make the error message go.

2 soft assertions are also hit on this case:
SOFT ASSERT: "state() == EngineShutdownRequested" in file debuggerengine.cpp, line 1130
Debugger::Internal::GdbTermEngine(0x55ef651cea30, name = "GdbEngine") "InferiorShutdownRequested"
*** UNEXPECTED STATE TRANSITION: Debugger::Internal::GdbTermEngine(0x55ef651cea30, name = "GdbEngine")
"State changed from InferiorShutdownRequested(16) to EngineShutdownOk(21) [master]"

SOFT ASSERT: "state() == InferiorShutdownRequested" in file debuggerengine.cpp, line 1068
Debugger::Internal::GdbTermEngine(0x55ef651cea30, name = "GdbEngine") "DebuggerFinished"
UNEXPECTED STATE: 22  WANTED: 16 IN gdbengine.cpp:1841

They are *not* addressed in this patch.

Task-number: QTCREATORBUG-16770
Change-Id: I419f134e527a154dfbe1c85a3fd6629597a363f0
Reviewed-by: hjk <hjk@qt.io>
---
 src/plugins/debugger/debuggerengine.cpp | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp
index 9f196c98959..49c2f0633a7 100644
--- a/src/plugins/debugger/debuggerengine.cpp
+++ b/src/plugins/debugger/debuggerengine.cpp
@@ -1240,6 +1240,7 @@ void DebuggerEngine::notifyDebuggerProcessFinished(int exitCode,
         // Nothing to do.
         break;
     case EngineShutdownRequested:
+    case InferiorShutdownRequested:
         notifyEngineShutdownOk();
         break;
     case InferiorRunOk:
-- 
GitLab