diff options
| author | Oz Linden <oz@lindenlab.com> | 2013-11-19 09:28:58 -0500 | 
|---|---|---|
| committer | Oz Linden <oz@lindenlab.com> | 2013-11-19 09:28:58 -0500 | 
| commit | a5db4f6c3d1f6804c20b3095b39203887728d3a6 (patch) | |
| tree | aa219d79f268ee2dbb517aef297e8e2073eec7c8 | |
| parent | 6bd777214c535b91048533c792cb2dd499ec6ebf (diff) | |
add documentation to LLAgent::addRegionChangedCallback and improve logging
| -rwxr-xr-x | indra/newview/llagent.cpp | 6 | ||||
| -rwxr-xr-x | indra/newview/llagent.h | 19 | 
2 files changed, 21 insertions, 4 deletions
| diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index da29aaff50..5302ae2636 100755 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -261,9 +261,7 @@ bool handleSlowMotionAnimation(const LLSD& newvalue)  void LLAgent::setCanEditParcel() // called via mParcelChangedSignal  { -	LL_DEBUGS("AgentLocation") << LL_ENDL;  	bool can_edit = LLToolMgr::getInstance()->canEdit(); -  	gAgent.mCanEditParcel = can_edit;  } @@ -837,7 +835,7 @@ void LLAgent::handleServerBakeRegionTransition(const LLUUID& region_id)  void LLAgent::changeParcels()  { -	LL_DEBUGS("AgentLocation") << LL_ENDL; +	LL_DEBUGS("AgentLocation") << "Calling ParcelChanged callbacks" << LL_ENDL;  	// Notify anything that wants to know about parcel changes  	mParcelChangedSignal();  } @@ -920,6 +918,8 @@ void LLAgent::setRegion(LLViewerRegion *regionp)  	}  	mRegionp = regionp; +	// TODO - most of what follows probably should be moved into callbacks +  	// Pass the region host to LLUrlEntryParcel to resolve parcel name  	// with a server request.  	LLUrlEntryParcel::setRegionHost(getRegionHost()); diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h index fafa166efd..0662be897a 100755 --- a/indra/newview/llagent.h +++ b/indra/newview/llagent.h @@ -253,7 +253,24 @@ private:  	LLHost			getRegionHost() const;  	BOOL			inPrelude(); -	// Register a boost callback to be called when the agent changes regions +	/** +	 * Register a boost callback to be called when the agent changes regions +	 * Note that if you need to access a capability for the region, you may need to wait +	 * for the capabilities to be received, since in some cases your region changed +	 * callback will be called before the capabilities have been received.  Your callback +	 * may need to look something like: +	 * +	 * 	 LLViewerRegion* region = gAgent.getRegion(); +	 * 	 if (region->capabilitiesReceived()) +	 * 	 { +	 *       useCapability(region); +	 * 	 } +	 * 	 else // Need to handle via callback after caps arrive. +	 * 	 { +	 *       region->setCapabilitiesReceivedCallback(boost::bind(&useCapability,region,_1)); +	 *       // you may or may not want to remove that callback +	 * 	 } +	 */  	typedef boost::function<void()> region_changed_callback_t;  	boost::signals2::connection     addRegionChangedCallback(region_changed_callback_t); | 
