SL-15759 Crash in requestBaseCapabilitiesCoro

meow-7.2.2
Andrey Kleshchev 2021-08-09 21:21:37 +03:00
parent b111138d64
commit bd3eb02e30
1 changed files with 14 additions and 1 deletions

View File

@ -187,7 +187,7 @@ public:
mLandp(NULL)
{}
void buildCapabilityNames(LLSD& capabilityNames);
static void buildCapabilityNames(LLSD& capabilityNames);
// The surfaces and other layers
LLSurface* mLandp;
@ -260,6 +260,12 @@ void LLViewerRegionImpl::requestBaseCapabilitiesCoro(U64 regionHandle)
// This loop is used for retrying a capabilities request.
do
{
if (STATE_WORLD_INIT > LLStartUp::getStartupState())
{
LL_INFOS("AppInit", "Capabilities") << "Aborting capabilities request, reason: returned to login screen" << LL_ENDL;
return;
}
regionp = LLWorld::getInstance()->getRegionFromHandle(regionHandle);
if (!regionp) //region was removed
{
@ -310,6 +316,12 @@ void LLViewerRegionImpl::requestBaseCapabilitiesCoro(U64 regionHandle)
++mSeedCapAttempts;
if (STATE_WORLD_INIT > LLStartUp::getStartupState())
{
LL_INFOS("AppInit", "Capabilities") << "Aborting capabilities request, reason: returned to login screen" << LL_ENDL;
return;
}
if (LLApp::isExiting())
{
return;
@ -2925,6 +2937,7 @@ void LLViewerRegion::unpackRegionHandshake()
mRegionTimer.reset(); //reset region timer.
}
// static
void LLViewerRegionImpl::buildCapabilityNames(LLSD& capabilityNames)
{
capabilityNames.append("AbuseCategories");