diff options
Diffstat (limited to 'indra/newview/llagent.cpp')
| -rw-r--r-- | indra/newview/llagent.cpp | 24 | 
1 files changed, 23 insertions, 1 deletions
| diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index e7e9404ded..c65bc0fa50 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -877,6 +877,18 @@ boost::signals2::connection LLAgent::addParcelChangedCallback(parcel_changed_cal  	return mParcelChangedSignal.connect(cb);  } +// static +void LLAgent::capabilityReceivedCallback(const LLUUID ®ion_id) +{ +    LLViewerRegion* region = gAgent.getRegion(); +    if (region && region->getRegionID() == region_id) +    { +        region->requestSimulatorFeatures(); +        LLAppViewer::instance()->updateNameLookupUrl(); +    } +} + +  //-----------------------------------------------------------------------------  // setRegion()  //----------------------------------------------------------------------------- @@ -923,10 +935,11 @@ void LLAgent::setRegion(LLViewerRegion *regionp)              if (regionp->capabilitiesReceived())              {                  regionp->requestSimulatorFeatures(); +                LLAppViewer::instance()->updateNameLookupUrl();              }              else              { -                regionp->setCapabilitiesReceivedCallback(boost::bind(&LLViewerRegion::requestSimulatorFeatures, regionp)); +                regionp->setCapabilitiesReceivedCallback(LLAgent::capabilityReceivedCallback);              }  		} @@ -945,6 +958,15 @@ void LLAgent::setRegion(LLViewerRegion *regionp)  			// Update all of the regions.  			LLWorld::getInstance()->updateAgentOffset(mAgentOriginGlobal); + +            if (regionp->capabilitiesReceived()) +            { +                LLAppViewer::instance()->updateNameLookupUrl(); +            } +            else +            { +                regionp->setCapabilitiesReceivedCallback([](const LLUUID ®ion_id) {LLAppViewer::instance()->updateNameLookupUrl(); }); +            }  		}  		// Pass new region along to metrics components that care about this level of detail. | 
