diff options
author | PavelK ProductEngine <pkrivich@productengine.com> | 2013-07-25 19:37:15 +0300 |
---|---|---|
committer | PavelK ProductEngine <pkrivich@productengine.com> | 2013-07-25 19:37:15 +0300 |
commit | 1015adf32256b6ffeb44f5e75df537f5562fa7ae (patch) | |
tree | 079f12fee823188cf432d6733f9e687efbebf4a1 | |
parent | 2d3d04e72fb71eaa09684c69ccb5a4eb8e0db970 (diff) |
MAINT-2715 FIX Capabilities request handling not working properly if request gets lost
-rwxr-xr-x | indra/newview/llviewerregion.cpp | 1 | ||||
-rwxr-xr-x | indra/newview/llworld.cpp | 9 |
2 files changed, 10 insertions, 0 deletions
diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index 778c0ee61a..04ec98d514 100755 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -232,6 +232,7 @@ public: 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 7996f8a640..103668d051 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); |