[client] main: don't show the splash when transitioning to spice

This commit is contained in:
Geoffrey McRae 2022-05-27 02:24:01 +10:00
parent a9e3ab9d18
commit b94869249c
3 changed files with 11 additions and 9 deletions

View File

@ -187,6 +187,6 @@ void app_stopVideo(bool stop);
/** /**
* Enable/disable the spice display * Enable/disable the spice display
*/ */
void app_useSpiceDisplay(bool enable); bool app_useSpiceDisplay(bool enable);
#endif #endif

View File

@ -1041,25 +1041,25 @@ void app_stopVideo(bool stop)
} }
} }
void app_useSpiceDisplay(bool enable) bool app_useSpiceDisplay(bool enable)
{ {
static bool lastState = false; static bool lastState = false;
if (!g_params.useSpice || lastState == enable) if (!g_params.useSpice || lastState == enable)
return; return g_params.useSpice && lastState;
// if spice is not yet ready, flag the state we want for when it is // if spice is not yet ready, flag the state we want for when it is
if (!g_state.spiceReady) if (!g_state.spiceReady)
{ {
g_state.initialSpiceDisplay = enable; g_state.initialSpiceDisplay = enable;
return; return false;
} }
if (!purespice_hasChannel(PS_CHANNEL_DISPLAY)) if (!purespice_hasChannel(PS_CHANNEL_DISPLAY))
return; return false;
// do not allow stopping of the host app is not connected // do not allow stopping of the host app if not connected
if (!enable && !g_state.lgHostConnected) if (!enable && !g_state.lgHostConnected)
return; return false;
lastState = enable; lastState = enable;
if (enable) if (enable)
@ -1073,5 +1073,7 @@ void app_useSpiceDisplay(bool enable)
renderQueue_spiceShow(false); renderQueue_spiceShow(false);
purespice_disconnectChannel(PS_CHANNEL_DISPLAY); purespice_disconnectChannel(PS_CHANNEL_DISPLAY);
} }
overlayStatus_set(LG_USER_STATUS_SPICE, enable); overlayStatus_set(LG_USER_STATUS_SPICE, enable);
return enable;
} }

View File

@ -824,8 +824,8 @@ int main_frameThread(void * unused)
if (g_state.state != APP_STATE_SHUTDOWN) if (g_state.state != APP_STATE_SHUTDOWN)
{ {
overlaySplash_show(true); if (!app_useSpiceDisplay(true))
app_useSpiceDisplay(true); overlaySplash_show(true);
} }
if (g_state.useDMA) if (g_state.useDMA)