diff options
author | Richard Linden <none@none> | 2013-06-21 11:00:47 -0700 |
---|---|---|
committer | Richard Linden <none@none> | 2013-06-21 11:00:47 -0700 |
commit | 090fa057b5ff17170d846473a2bc9ebc315c99d3 (patch) | |
tree | 781dff230ab8d1fc651e453cdd568df5aff8487a /indra/newview/llworld.cpp | |
parent | 5de2f0a8970244866dc8b511caa3c8626955264f (diff) | |
parent | a2a6bf20d71f923e9a5e43f71213fffbfea5a2a6 (diff) |
merge
Diffstat (limited to 'indra/newview/llworld.cpp')
-rwxr-xr-x | indra/newview/llworld.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/indra/newview/llworld.cpp b/indra/newview/llworld.cpp index 42a0be9e2f..b49152508c 100755 --- a/indra/newview/llworld.cpp +++ b/indra/newview/llworld.cpp @@ -278,6 +278,8 @@ void LLWorld::removeRegion(const LLHost &host) mCulledRegionList.remove(regionp); mVisibleRegionList.remove(regionp); + mRegionRemovedSignal(regionp); + delete regionp; updateWaterObjects(); @@ -405,6 +407,19 @@ LLViewerRegion* LLWorld::getRegionFromHandle(const U64 &handle) return NULL; } +LLViewerRegion* LLWorld::getRegionFromID(const LLUUID& region_id) +{ + for (region_list_t::iterator iter = mRegionList.begin(); + iter != mRegionList.end(); ++iter) + { + LLViewerRegion* regionp = *iter; + if (regionp->getRegionID() == region_id) + { + return regionp; + } + } + return NULL; +} void LLWorld::updateAgentOffset(const LLVector3d &offset_global) { @@ -1257,6 +1272,11 @@ bool LLWorld::isRegionListed(const LLViewerRegion* region) const return it != mRegionList.end(); } +boost::signals2::connection LLWorld::setRegionRemovedCallback(const region_remove_signal_t::slot_type& cb) +{ + return mRegionRemovedSignal.connect(cb); +} + LLHTTPRegistration<LLEstablishAgentCommunication> gHTTPRegistrationEstablishAgentCommunication( "/message/EstablishAgentCommunication"); |