Adjusts engine cleanup ordering on shaderFeatureMgr to avoid periodic crashes on Mac ARM machines

Adds missing disconnect/timeout handling callbacks to the clientServer core module
Adds page refresh function to UINavigation to be able to selectively nudge the current page to refresh its contents if needbe
This commit is contained in:
JeffR 2022-06-05 01:21:38 -05:00
parent 34d109d45e
commit 1acf4b2dae
4 changed files with 32 additions and 2 deletions

View file

@ -32,7 +32,7 @@
MODULE_BEGIN( ShaderGenFeatureMgr )
MODULE_INIT_BEFORE( ShaderGen )
MODULE_SHUTDOWN_AFTER( Sim ) // allow registered features to be removed before destroying singleton
MODULE_SHUTDOWN_AFTER(Scene)
MODULE_INIT
{

View file

@ -71,6 +71,20 @@ function GameConnection::onControlObjectChange(%this)
//turnOffZoom();
}
function GameConnection::onConnectionTimedOut(%this)
{
// Called when an established connection times out
disconnectedCleanup();
MessageBoxOK( "TIMED OUT", "The server connection has timed out.");
}
function GameConnection::onConnectionDropped(%this, %msg)
{
// Established connection was dropped by the server
disconnectedCleanup();
MessageBoxOK( "DISCONNECT", "The server has dropped the connection: " @ %msg);
}
function GameConnection::onConnectionError(%this, %msg)
{
// General connection error, usually raised by ghosted objects

View file

@ -35,6 +35,8 @@ function MainMenuGui::onWake(%this)
//This will ultimately call MainMenuButtons::onOpen(), so to see where the navigation
//chain continues, see that function.
%this.setRootPage(MainMenuButtons);
%this.refreshPage();
}
function MainMenuButtonHolder::onWake(%this)

View file

@ -287,4 +287,18 @@ function UINavigation::getPageCount(%this)
%count++;
return %count;
}
}
//==============================================================================
/// Summary:
/// Force the page to reprocess to ensure it's status is up to date
function UINavigation::refreshPage(%this)
{
%page = %this.getCurrentPage();
if(!isObject(%page))
return;
if(%page.isMethod("onOpen"))
%page.call("onOpen");
}