diff options
| author | Rider Linden <rider@lindenlab.com> | 2016-06-22 13:35:13 -0700 |
|---|---|---|
| committer | Rider Linden <rider@lindenlab.com> | 2016-06-22 13:35:13 -0700 |
| commit | 0a9f25bcfbc977cf894e83fda95d7ff693039923 (patch) | |
| tree | 9dbf93947bf2d368e74c9847c3996cbad60da55b /indra/newview/llagent.cpp | |
| parent | c8b662814093fa6ed592fb9cb5118a1401fdc488 (diff) | |
MAINT-6385: Ensure that VMM initialization only happens once after login and that it will only happen after the region caps have been received.
Diffstat (limited to 'indra/newview/llagent.cpp')
| -rw-r--r-- | indra/newview/llagent.cpp | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index d933537d2e..d8b0787852 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -3895,11 +3895,17 @@ void LLAgent::handleTeleportFinished() mIsMaturityRatingChangingDuringTeleport = false; } - // Init SLM Marketplace connection so we know which UI should be used for the user as a merchant - // Note: Eventually, all merchant will be migrated to the new SLM system and there will be no reason to show the old UI at all. - // Note: Some regions will not support the SLM cap for a while so we need to do that check for each teleport. - // *TODO : Suppress that line from here once the whole grid migrated to SLM and move it to idle_startup() (llstartup.cpp) - check_merchant_status(); + if (mRegionp) + { + if (mRegionp->capabilitiesReceived()) + { + onCapabilitiesReceivedAfterTeleport(); + } + else + { + mRegionp->setCapabilitiesReceivedCallback(boost::bind(&LLAgent::onCapabilitiesReceivedAfterTeleport)); + } + } } void LLAgent::handleTeleportFailed() @@ -3931,6 +3937,14 @@ void LLAgent::handleTeleportFailed() } } +/*static*/ +void LLAgent::onCapabilitiesReceivedAfterTeleport() +{ + + check_merchant_status(); +} + + void LLAgent::teleportRequest( const U64& region_handle, const LLVector3& pos_local, |
