mirror of
https://github.com/moonlight-stream/moonlight-qt.git
synced 2025-08-17 08:56:01 +00:00
Don't kill the app on the host when the session terminates unexpectedly
This commit is contained in:
parent
5029c855f0
commit
c40174034c
@ -73,6 +73,7 @@ void Session::clStageFailed(int stage, long errorCode)
|
|||||||
|
|
||||||
void Session::clConnectionTerminated(long errorCode)
|
void Session::clConnectionTerminated(long errorCode)
|
||||||
{
|
{
|
||||||
|
s_ActiveSession->m_ConnectionTerminated = true;
|
||||||
emit s_ActiveSession->displayLaunchError("Connection terminated");
|
emit s_ActiveSession->displayLaunchError("Connection terminated");
|
||||||
|
|
||||||
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION,
|
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION,
|
||||||
@ -287,6 +288,7 @@ Session::Session(NvComputer* computer, NvApp& app, StreamingPreferences *prefere
|
|||||||
m_DisplayOriginX(0),
|
m_DisplayOriginX(0),
|
||||||
m_DisplayOriginY(0),
|
m_DisplayOriginY(0),
|
||||||
m_PendingWindowedTransition(false),
|
m_PendingWindowedTransition(false),
|
||||||
|
m_ConnectionTerminated(false),
|
||||||
m_OpusDecoder(nullptr),
|
m_OpusDecoder(nullptr),
|
||||||
m_AudioRenderer(nullptr),
|
m_AudioRenderer(nullptr),
|
||||||
m_AudioSampleCount(0)
|
m_AudioSampleCount(0)
|
||||||
@ -573,19 +575,24 @@ private:
|
|||||||
|
|
||||||
void run() override
|
void run() override
|
||||||
{
|
{
|
||||||
|
// Only quit the running app if our session terminated gracefully
|
||||||
|
bool shouldQuit =
|
||||||
|
!m_Session->m_ConnectionTerminated &&
|
||||||
|
m_Session->m_Preferences->quitAppAfter;
|
||||||
|
|
||||||
// Notify the UI
|
// Notify the UI
|
||||||
if (!m_Session->m_Preferences->quitAppAfter) {
|
if (shouldQuit) {
|
||||||
emit m_Session->sessionFinished();
|
emit m_Session->quitStarting();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
emit m_Session->quitStarting();
|
emit m_Session->sessionFinished();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Finish cleanup of the connection state
|
// Finish cleanup of the connection state
|
||||||
LiStopConnection();
|
LiStopConnection();
|
||||||
|
|
||||||
// Perform a best-effort app quit
|
// Perform a best-effort app quit
|
||||||
if (m_Session->m_Preferences->quitAppAfter) {
|
if (shouldQuit) {
|
||||||
NvHTTP http(m_Session->m_Computer->activeAddress);
|
NvHTTP http(m_Session->m_Computer->activeAddress);
|
||||||
|
|
||||||
// Logging is already done inside NvHTTP
|
// Logging is already done inside NvHTTP
|
||||||
|
@ -120,6 +120,7 @@ private:
|
|||||||
int m_DisplayOriginX;
|
int m_DisplayOriginX;
|
||||||
int m_DisplayOriginY;
|
int m_DisplayOriginY;
|
||||||
bool m_PendingWindowedTransition;
|
bool m_PendingWindowedTransition;
|
||||||
|
bool m_ConnectionTerminated;
|
||||||
|
|
||||||
int m_ActiveVideoFormat;
|
int m_ActiveVideoFormat;
|
||||||
int m_ActiveVideoWidth;
|
int m_ActiveVideoWidth;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user