diff --git a/app/gui/StreamSegue.qml b/app/gui/StreamSegue.qml index 320f02a4..e590a987 100644 --- a/app/gui/StreamSegue.qml +++ b/app/gui/StreamSegue.qml @@ -67,20 +67,16 @@ Item { // Re-enable GUI gamepad usage now SdlGamepadKeyNavigation.enable() - if (quitAfter) { - if (streamSegueErrorDialog.text) { - // Quit when the error dialog is acknowledged - streamSegueErrorDialog.quitAfter = quitAfter - streamSegueErrorDialog.open() - } - else { - // Quit immediately - Qt.quit() - } - } else { - // Exit this view + // Pop the StreamSegue off the stack if this is a GUI-based app launch + if (!quitAfter) { stackView.pop() + } + if (quitAfter && !streamSegueErrorDialog.text) { + // If this was a CLI launch without errors, exit now + Qt.quit() + } + else { // Show the Qt window again after streaming window.visible = true diff --git a/app/streaming/session.cpp b/app/streaming/session.cpp index 09397be0..4c042200 100644 --- a/app/streaming/session.cpp +++ b/app/streaming/session.cpp @@ -1308,14 +1308,14 @@ private: } catch (const QtNetworkReplyException&) { } - // Exit the entire program if requested - if (m_Session->m_ShouldExit) { - QCoreApplication::instance()->quit(); - } - // Session is finished now emit m_Session->sessionFinished(m_Session->m_PortTestResults); } + + // Exit the entire program if requested + if (m_Session->m_ShouldExit) { + QCoreApplication::instance()->quit(); + } } Session* m_Session;