diff options
author | Roxie Linden <roxie@lindenlab.com> | 2010-02-25 01:34:52 -0800 |
---|---|---|
committer | Roxie Linden <roxie@lindenlab.com> | 2010-02-25 01:34:52 -0800 |
commit | c6163fafaac9c72683b11894ed309d1f55a745c8 (patch) | |
tree | 612be60185cbea598bdf907f045c9fc29fb40a2c /indra/newview/llviewerparcelmgr.cpp | |
parent | 0bf246ed663ad11d316fe7898a3fee3f57676d4b (diff) | |
parent | 82de841c52357642d30b6d89b11da079f9c0f5d1 (diff) |
automated merge
Diffstat (limited to 'indra/newview/llviewerparcelmgr.cpp')
-rw-r--r-- | indra/newview/llviewerparcelmgr.cpp | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/indra/newview/llviewerparcelmgr.cpp b/indra/newview/llviewerparcelmgr.cpp index 4b2707e6d7..10a95443f1 100644 --- a/indra/newview/llviewerparcelmgr.cpp +++ b/indra/newview/llviewerparcelmgr.cpp @@ -1320,14 +1320,37 @@ void LLViewerParcelMgr::sendParcelPropertiesUpdate(LLParcel* parcel, bool use_ag void LLViewerParcelMgr::setHoverParcel(const LLVector3d& pos) { - //FIXME: only request parcel info when tooltip is shown - return; - /*LLViewerRegion* region = LLWorld::getInstance()->getRegionFromPosGlobal( pos ); + static U32 last_west, last_south; + + + // only request parcel info when tooltip is shown + if (!gSavedSettings.getBOOL("ShowLandHoverTip")) + { + return; + } + + // only request parcel info if position has changed outside of the + // last parcel grid step + U32 west_parcel_step = (U32) floor( pos.mdV[VX] / PARCEL_GRID_STEP_METERS ); + U32 south_parcel_step = (U32) floor( pos.mdV[VY] / PARCEL_GRID_STEP_METERS ); + + if ((west_parcel_step == last_west) && (south_parcel_step == last_south)) + { + return; + } + else + { + last_west = west_parcel_step; + last_south = south_parcel_step; + } + + LLViewerRegion* region = LLWorld::getInstance()->getRegionFromPosGlobal( pos ); if (!region) { return; } + // Send a rectangle around the point. // This means the parcel sent back is at least a rectangle around the point, // which is more efficient for public land. Fewer requests are sent. JC @@ -1354,7 +1377,7 @@ void LLViewerParcelMgr::setHoverParcel(const LLVector3d& pos) msg->addBOOL("SnapSelection", FALSE ); msg->sendReliable( region->getHost() ); - mHoverRequestResult = PARCEL_RESULT_NO_DATA;*/ + mHoverRequestResult = PARCEL_RESULT_NO_DATA; } |