diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index 778c0ee61a8a88c4133a9bd0e7cd91b358070c04..04ec98d514b72a183585b497c70fde4b0c04ce1a 100755 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -232,6 +232,7 @@ class BaseCapabilitiesComplete : public LLHTTPClient::Responder if( mID != regionp->getHttpResponderID() ) // region is no longer referring to this responder { LL_WARNS2("AppInit", "Capabilities") << "Received results for a stale http responder!" << LL_ENDL; + regionp->failedSeedCapability(); return ; } diff --git a/indra/newview/llworld.cpp b/indra/newview/llworld.cpp index 7996f8a64005b31f6e1b3f58f93877639b46c7c5..103668d0510ce381d2daf42038b9d4698e9b56f7 100755 --- a/indra/newview/llworld.cpp +++ b/indra/newview/llworld.cpp @@ -140,6 +140,7 @@ LLViewerRegion* LLWorld::addRegion(const U64 ®ion_handle, const LLHost &host) { llinfos << "Add region with handle: " << region_handle << " on host " << host << llendl; LLViewerRegion *regionp = getRegionFromHandle(region_handle); + std::string seedUrl; if (regionp) { llinfos << "Region exists, removing it " << llendl; @@ -161,6 +162,9 @@ LLViewerRegion* LLWorld::addRegion(const U64 ®ion_handle, const LLHost &host) llwarns << "LLWorld::addRegion exists, but isn't alive" << llendl; } + // Save capabilities seed URL + seedUrl = regionp->getCapability("Seed"); + // Kill the old host, and then we can continue on and add the new host. We have to kill even if the host // matches, because all the agent state for the new camera is completely different. removeRegion(old_host); @@ -188,6 +192,11 @@ LLViewerRegion* LLWorld::addRegion(const U64 ®ion_handle, const LLHost &host) llerrs << "Unable to create new region!" << llendl; } + if ( !seedUrl.empty() ) + { + regionp->setCapability("Seed", seedUrl); + } + mRegionList.push_back(regionp); mActiveRegionList.push_back(regionp); mCulledRegionList.push_back(regionp);