From 4c68faec400e4c6d75a53528d8064a3448707158 Mon Sep 17 00:00:00 2001 From: Kitty Barnett Date: Wed, 5 Dec 2012 19:34:27 +0100 Subject: Added LLMaterialMgr::getAll() to retrieve all materials for the specified region --- indra/newview/llworld.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'indra/newview/llworld.cpp') diff --git a/indra/newview/llworld.cpp b/indra/newview/llworld.cpp index 78ee3e4fd9..ed6c8bd32b 100644 --- a/indra/newview/llworld.cpp +++ b/indra/newview/llworld.cpp @@ -403,6 +403,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) { -- cgit v1.2.3 From a18ea9d92923e331c0a3e179e126659e694b1c07 Mon Sep 17 00:00:00 2001 From: Kitty Barnett Date: Wed, 12 Dec 2012 21:47:24 +0100 Subject: Clean up pending requests when regions are removed from LLWorld --- indra/newview/llworld.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'indra/newview/llworld.cpp') diff --git a/indra/newview/llworld.cpp b/indra/newview/llworld.cpp index ed6c8bd32b..604f7f2b56 100644 --- a/indra/newview/llworld.cpp +++ b/indra/newview/llworld.cpp @@ -275,7 +275,9 @@ void LLWorld::removeRegion(const LLHost &host) mActiveRegionList.remove(regionp); mCulledRegionList.remove(regionp); mVisibleRegionList.remove(regionp); - + + mRegionRemovedSignal(regionp); + delete regionp; updateWaterObjects(); @@ -1259,6 +1261,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 gHTTPRegistrationEstablishAgentCommunication( "/message/EstablishAgentCommunication"); -- cgit v1.2.3