aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2011-04-05 18:24:23 +0100
committerJustin Clark-Casey (justincc)2011-04-05 18:24:23 +0100
commit3d400fc663104b6d899ee37afeb7f83c68af45d4 (patch)
tree8ac567ed2c9a7f02dc43e2d52d837f7d75dd9f69 /OpenSim/Region
parentHandle the client's parcel info requests asynchronously rather than synchrono... (diff)
downloadopensim-SC-3d400fc663104b6d899ee37afeb7f83c68af45d4.zip
opensim-SC-3d400fc663104b6d899ee37afeb7f83c68af45d4.tar.gz
opensim-SC-3d400fc663104b6d899ee37afeb7f83c68af45d4.tar.bz2
opensim-SC-3d400fc663104b6d899ee37afeb7f83c68af45d4.tar.xz
If an object is selected, then don't include it in owner/group/others prim counts.
This fixes the total prim count that the viewer displays when prims are selected - it appears to ignore the total that we pass it and adds up the counts separately.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/CoreModules/World/Land/PrimCountModule.cs31
1 files changed, 18 insertions, 13 deletions
diff --git a/OpenSim/Region/CoreModules/World/Land/PrimCountModule.cs b/OpenSim/Region/CoreModules/World/Land/PrimCountModule.cs
index bc140ae..7a04eb1 100644
--- a/OpenSim/Region/CoreModules/World/Land/PrimCountModule.cs
+++ b/OpenSim/Region/CoreModules/World/Land/PrimCountModule.cs
@@ -206,25 +206,29 @@ namespace OpenSim.Region.CoreModules.World.Land
206 else 206 else
207 parcelCounts.Users[obj.OwnerID] = partCount; 207 parcelCounts.Users[obj.OwnerID] = partCount;
208 208
209 if (landData.IsGroupOwned) 209 if (obj.IsSelected)
210 { 210 {
211 if (obj.OwnerID == landData.GroupID) 211 parcelCounts.Selected += partCount;
212 parcelCounts.Owner += partCount;
213 else if (landData.GroupID != UUID.Zero && obj.GroupID == landData.GroupID)
214 parcelCounts.Group += partCount;
215 else
216 parcelCounts.Others += partCount;
217 } 212 }
218 else 213 else
219 { 214 {
220 if (obj.OwnerID == landData.OwnerID) 215 if (landData.IsGroupOwned)
221 parcelCounts.Owner += partCount; 216 {
217 if (obj.OwnerID == landData.GroupID)
218 parcelCounts.Owner += partCount;
219 else if (landData.GroupID != UUID.Zero && obj.GroupID == landData.GroupID)
220 parcelCounts.Group += partCount;
221 else
222 parcelCounts.Others += partCount;
223 }
222 else 224 else
223 parcelCounts.Others += partCount; 225 {
226 if (obj.OwnerID == landData.OwnerID)
227 parcelCounts.Owner += partCount;
228 else
229 parcelCounts.Others += partCount;
230 }
224 } 231 }
225
226 if (obj.IsSelected)
227 parcelCounts.Selected += partCount;
228 } 232 }
229 } 233 }
230 234
@@ -380,6 +384,7 @@ namespace OpenSim.Region.CoreModules.World.Land
380 count = counts.Owner; 384 count = counts.Owner;
381 count += counts.Group; 385 count += counts.Group;
382 count += counts.Others; 386 count += counts.Others;
387 count += counts.Selected;
383 } 388 }
384 } 389 }
385 390