summaryrefslogtreecommitdiff
path: root/indra/newview/llworld.cpp
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2022-05-18 14:08:24 -0400
committerNat Goodspeed <nat@lindenlab.com>2022-05-18 14:08:24 -0400
commitc0aa1a1202678fdde0206c9372fb071c028cfe5b (patch)
tree614a5e0b9e24343c59709a9378050b601dd0f828 /indra/newview/llworld.cpp
parent06aa68c2fbcd83cb00465c9f14933bda276b11e8 (diff)
parenta9363222618a879dd7d0d78471f8773af6b61618 (diff)
SL-17219: Merge 'DRTVWR-546' of lindenlab/viewer into SL-17219
Update task branch from main project branch.
Diffstat (limited to 'indra/newview/llworld.cpp')
-rw-r--r--indra/newview/llworld.cpp24
1 files changed, 19 insertions, 5 deletions
diff --git a/indra/newview/llworld.cpp b/indra/newview/llworld.cpp
index 6746a3a902..8abb49fba8 100644
--- a/indra/newview/llworld.cpp
+++ b/indra/newview/llworld.cpp
@@ -113,7 +113,7 @@ LLWorld::LLWorld() :
}
-void LLWorld::destroyClass()
+void LLWorld::resetClass()
{
mHoleWaterObjects.clear();
gObjectList.destroy();
@@ -135,7 +135,6 @@ void LLWorld::destroyClass()
LLDrawable::incrementVisible();
LLSceneMonitor::deleteSingleton();
- LLWorld::deleteSingleton();
}
@@ -1200,6 +1199,16 @@ public:
return;
}
+ if (gDisconnected)
+ {
+ return;
+ }
+
+ if (!LLWorld::instanceExists())
+ {
+ return;
+ }
+
if (!input["body"].has("agent-id") ||
!input["body"].has("sim-ip-and-port") ||
!input["body"].has("seed-capability"))
@@ -1208,8 +1217,13 @@ public:
return;
}
- LLHost sim(input["body"]["sim-ip-and-port"].asString());
-
+ LLHost sim(input["body"]["sim-ip-and-port"].asString());
+ if (sim.isInvalid())
+ {
+ LL_WARNS() << "Got EstablishAgentCommunication with invalid host" << LL_ENDL;
+ return;
+ }
+
LLViewerRegion* regionp = LLWorld::getInstance()->getRegion(sim);
if (!regionp)
{
@@ -1218,7 +1232,7 @@ public:
return;
}
LL_DEBUGS("CrossingCaps") << "Calling setSeedCapability from LLEstablishAgentCommunication::post. Seed cap == "
- << input["body"]["seed-capability"] << LL_ENDL;
+ << input["body"]["seed-capability"] << " for region " << regionp->getRegionID() << LL_ENDL;
regionp->setSeedCapability(input["body"]["seed-capability"]);
}
};