aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/llviewerobjectlist.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'linden/indra/newview/llviewerobjectlist.cpp')
-rw-r--r--linden/indra/newview/llviewerobjectlist.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/linden/indra/newview/llviewerobjectlist.cpp b/linden/indra/newview/llviewerobjectlist.cpp
index e0741e7..4961f48 100644
--- a/linden/indra/newview/llviewerobjectlist.cpp
+++ b/linden/indra/newview/llviewerobjectlist.cpp
@@ -874,6 +874,10 @@ void LLViewerObjectList::killObjects(LLViewerRegion *regionp)
874 if (objectp->mRegionp == regionp) 874 if (objectp->mRegionp == regionp)
875 { 875 {
876 killObject(objectp); 876 killObject(objectp);
877
878 // invalidate region pointer. region will become invalid, but
879 // refcounted objects may survive the cleanDeadObjects() call below
880 objectp->mRegionp = NULL;
877 } 881 }
878 } 882 }
879 883
@@ -1027,6 +1031,7 @@ void LLViewerObjectList::renderObjectsForMap(LLNetMap &netmap)
1027 LLColor4 group_own_below_water_color = 1031 LLColor4 group_own_below_water_color =
1028 gColors.getColor( "NetMapGroupOwnBelowWater" ); 1032 gColors.getColor( "NetMapGroupOwnBelowWater" );
1029 1033
1034 F32 max_radius = gSavedSettings.getF32("MiniMapPrimMaxRadius");
1030 1035
1031 for (S32 i = 0; i < mMapObjects.count(); i++) 1036 for (S32 i = 0; i < mMapObjects.count(); i++)
1032 { 1037 {
@@ -1042,6 +1047,9 @@ void LLViewerObjectList::renderObjectsForMap(LLNetMap &netmap)
1042 1047
1043 F32 approx_radius = (scale.mV[VX] + scale.mV[VY]) * 0.5f * 0.5f * 1.3f; // 1.3 is a fudge 1048 F32 approx_radius = (scale.mV[VX] + scale.mV[VY]) * 0.5f * 0.5f * 1.3f; // 1.3 is a fudge
1044 1049
1050 // DEV-17370 - megaprims of size > 4096 cause lag. (go figger.)
1051 approx_radius = llmin(approx_radius, max_radius);
1052
1045 LLColor4U color = above_water_color; 1053 LLColor4U color = above_water_color;
1046 if( objectp->permYouOwner() ) 1054 if( objectp->permYouOwner() )
1047 { 1055 {