aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/World/Land/PrimCountModule.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/CoreModules/World/Land/PrimCountModule.cs177
1 files changed, 80 insertions, 97 deletions
diff --git a/OpenSim/Region/CoreModules/World/Land/PrimCountModule.cs b/OpenSim/Region/CoreModules/World/Land/PrimCountModule.cs
index 9b51cc8..2a720db 100644
--- a/OpenSim/Region/CoreModules/World/Land/PrimCountModule.cs
+++ b/OpenSim/Region/CoreModules/World/Land/PrimCountModule.cs
@@ -69,11 +69,11 @@ namespace OpenSim.Region.CoreModules.World.Land
69 /// For now, a simple simwide taint to get this up. Later parcel based 69 /// For now, a simple simwide taint to get this up. Later parcel based
70 /// taint to allow recounting a parcel if only ownership has changed 70 /// taint to allow recounting a parcel if only ownership has changed
71 /// without recounting the whole sim. 71 /// without recounting the whole sim.
72 /// 72 ///
73 /// We start out tainted so that the first get call resets the various prim counts. 73 /// We start out tainted so that the first get call resets the various prim counts.
74 /// </value> 74 /// </value>
75 private bool m_Tainted = true; 75 private bool m_Tainted = true;
76 76
77 private Object m_TaintLock = new Object(); 77 private Object m_TaintLock = new Object();
78 78
79 public Type ReplaceableInterface 79 public Type ReplaceableInterface
@@ -88,14 +88,12 @@ namespace OpenSim.Region.CoreModules.World.Land
88 public void AddRegion(Scene scene) 88 public void AddRegion(Scene scene)
89 { 89 {
90 m_Scene = scene; 90 m_Scene = scene;
91 91
92 m_Scene.RegisterModuleInterface<IPrimCountModule>(this); 92 m_Scene.RegisterModuleInterface<IPrimCountModule>(this);
93 93
94 m_Scene.EventManager.OnObjectAddedToScene += OnParcelPrimCountAdd; 94 m_Scene.EventManager.OnObjectAddedToScene += OnParcelPrimCountAdd;
95 m_Scene.EventManager.OnObjectBeingRemovedFromScene += 95 m_Scene.EventManager.OnObjectBeingRemovedFromScene += OnObjectBeingRemovedFromScene;
96 OnObjectBeingRemovedFromScene; 96 m_Scene.EventManager.OnParcelPrimCountTainted += OnParcelPrimCountTainted;
97 m_Scene.EventManager.OnParcelPrimCountTainted +=
98 OnParcelPrimCountTainted;
99 m_Scene.EventManager.OnLandObjectAdded += delegate(ILandObject lo) { OnParcelPrimCountTainted(); }; 97 m_Scene.EventManager.OnLandObjectAdded += delegate(ILandObject lo) { OnParcelPrimCountTainted(); };
100 } 98 }
101 99
@@ -104,7 +102,7 @@ namespace OpenSim.Region.CoreModules.World.Land
104 } 102 }
105 103
106 public void RemoveRegion(Scene scene) 104 public void RemoveRegion(Scene scene)
107 { 105 {
108 } 106 }
109 107
110 public void Close() 108 public void Close()
@@ -126,7 +124,7 @@ namespace OpenSim.Region.CoreModules.World.Land
126 AddObject(obj); 124 AddObject(obj);
127// else 125// else
128// m_log.DebugFormat( 126// m_log.DebugFormat(
129// "[PRIM COUNT MODULE]: Ignoring OnParcelPrimCountAdd() for {0} on {1} since count is tainted", 127// "[PRIM COUNT MODULE]: Ignoring OnParcelPrimCountAdd() for {0} on {1} since count is tainted",
130// obj.Name, m_Scene.RegionInfo.RegionName); 128// obj.Name, m_Scene.RegionInfo.RegionName);
131 } 129 }
132 } 130 }
@@ -140,16 +138,16 @@ namespace OpenSim.Region.CoreModules.World.Land
140 RemoveObject(obj); 138 RemoveObject(obj);
141// else 139// else
142// m_log.DebugFormat( 140// m_log.DebugFormat(
143// "[PRIM COUNT MODULE]: Ignoring OnObjectBeingRemovedFromScene() for {0} on {1} since count is tainted", 141// "[PRIM COUNT MODULE]: Ignoring OnObjectBeingRemovedFromScene() for {0} on {1} since count is tainted",
144// obj.Name, m_Scene.RegionInfo.RegionName); 142// obj.Name, m_Scene.RegionInfo.RegionName);
145 } 143 }
146 } 144 }
147 145
148 private void OnParcelPrimCountTainted() 146 private void OnParcelPrimCountTainted()
149 { 147 {
150// m_log.DebugFormat( 148// m_log.DebugFormat(
151// "[PRIM COUNT MODULE]: OnParcelPrimCountTainted() called on {0}", m_Scene.RegionInfo.RegionName); 149// "[PRIM COUNT MODULE]: OnParcelPrimCountTainted() called on {0}", m_Scene.RegionInfo.RegionName);
152 150
153 lock (m_TaintLock) 151 lock (m_TaintLock)
154 m_Tainted = true; 152 m_Tainted = true;
155 } 153 }
@@ -174,40 +172,40 @@ namespace OpenSim.Region.CoreModules.World.Land
174 172
175 // NOTE: Call under Taint Lock 173 // NOTE: Call under Taint Lock
176 private void AddObject(SceneObjectGroup obj) 174 private void AddObject(SceneObjectGroup obj)
177 { 175 {
178 if (obj.IsAttachment) 176 if (obj.IsAttachment)
179 return; 177 return;
180 if (((obj.RootPart.Flags & PrimFlags.TemporaryOnRez) != 0)) 178 if (((obj.RootPart.Flags & PrimFlags.TemporaryOnRez) != 0))
181 return; 179 return;
182 180
183 Vector3 pos = obj.AbsolutePosition; 181 Vector3 pos = obj.AbsolutePosition;
184 ILandObject landObject = m_Scene.LandChannel.GetLandObject(pos.X, pos.Y); 182 ILandObject landObject = m_Scene.LandChannel.GetLandObject(pos.X, pos.Y);
185 183
186 // If for some reason there is no land object (perhaps the object is out of bounds) then we can't count it 184 // If for some reason there is no land object (perhaps the object is out of bounds) then we can't count it
187 if (landObject == null) 185 if (landObject == null)
188 { 186 {
189// m_log.WarnFormat( 187// m_log.WarnFormat(
190// "[PRIM COUNT MODULE]: Found no land object for {0} at position ({1}, {2}) on {3}", 188// "[PRIM COUNT MODULE]: Found no land object for {0} at position ({1}, {2}) on {3}",
191// obj.Name, pos.X, pos.Y, m_Scene.RegionInfo.RegionName); 189// obj.Name, pos.X, pos.Y, m_Scene.RegionInfo.RegionName);
192 190
193 return; 191 return;
194 } 192 }
195 193
196 LandData landData = landObject.LandData; 194 LandData landData = landObject.LandData;
197 195
198// m_log.DebugFormat( 196// m_log.DebugFormat(
199// "[PRIM COUNT MODULE]: Adding object {0} with {1} parts to prim count for parcel {2} on {3}", 197// "[PRIM COUNT MODULE]: Adding object {0} with {1} parts to prim count for parcel {2} on {3}",
200// obj.Name, obj.Parts.Length, landData.Name, m_Scene.RegionInfo.RegionName); 198// obj.Name, obj.Parts.Length, landData.Name, m_Scene.RegionInfo.RegionName);
201 199
202// m_log.DebugFormat( 200// m_log.DebugFormat(
203// "[PRIM COUNT MODULE]: Object {0} is owned by {1} over land owned by {2}", 201// "[PRIM COUNT MODULE]: Object {0} is owned by {1} over land owned by {2}",
204// obj.Name, obj.OwnerID, landData.OwnerID); 202// obj.Name, obj.OwnerID, landData.OwnerID);
205 203
206 ParcelCounts parcelCounts; 204 ParcelCounts parcelCounts;
207 if (m_ParcelCounts.TryGetValue(landData.GlobalID, out parcelCounts)) 205 if (m_ParcelCounts.TryGetValue(landData.GlobalID, out parcelCounts))
208 { 206 {
209 UUID landOwner = landData.OwnerID; 207 UUID landOwner = landData.OwnerID;
210 int partCount = obj.Parts.Length; 208 int partCount = obj.GetPartCount();
211 209
212 m_SimwideCounts[landOwner] += partCount; 210 m_SimwideCounts[landOwner] += partCount;
213 if (parcelCounts.Users.ContainsKey(obj.OwnerID)) 211 if (parcelCounts.Users.ContainsKey(obj.OwnerID))
@@ -215,37 +213,23 @@ namespace OpenSim.Region.CoreModules.World.Land
215 else 213 else
216 parcelCounts.Users[obj.OwnerID] = partCount; 214 parcelCounts.Users[obj.OwnerID] = partCount;
217 215
218 if (obj.IsSelected) 216 if (obj.IsSelected || obj.GetSittingAvatarsCount() > 0)
219 { 217 parcelCounts.Selected += partCount;
220 parcelCounts.Selected += partCount; 218
221 } 219 if (obj.OwnerID == landData.OwnerID)
220 parcelCounts.Owner += partCount;
221 else if (landData.GroupID != UUID.Zero && obj.GroupID == landData.GroupID)
222 parcelCounts.Group += partCount;
222 else 223 else
223 { 224 parcelCounts.Others += partCount;
224 if (landData.IsGroupOwned)
225 {
226 if (obj.OwnerID == landData.GroupID)
227 parcelCounts.Owner += partCount;
228 else if (landData.GroupID != UUID.Zero && obj.GroupID == landData.GroupID)
229 parcelCounts.Group += partCount;
230 else
231 parcelCounts.Others += partCount;
232 }
233 else
234 {
235 if (obj.OwnerID == landData.OwnerID)
236 parcelCounts.Owner += partCount;
237 else
238 parcelCounts.Others += partCount;
239 }
240 }
241 } 225 }
242 } 226 }
243 227
244 // NOTE: Call under Taint Lock 228 // NOTE: Call under Taint Lock
245 private void RemoveObject(SceneObjectGroup obj) 229 private void RemoveObject(SceneObjectGroup obj)
246 { 230 {
247// m_log.DebugFormat("[PRIM COUNT MODULE]: Removing object {0} {1} from prim count", obj.Name, obj.UUID); 231// m_log.DebugFormat("[PRIM COUNT MODULE]: Removing object {0} {1} from prim count", obj.Name, obj.UUID);
248 232
249 // Currently this is being done by tainting the count instead. 233 // Currently this is being done by tainting the count instead.
250 } 234 }
251 235
@@ -253,7 +237,7 @@ namespace OpenSim.Region.CoreModules.World.Land
253 { 237 {
254// m_log.DebugFormat( 238// m_log.DebugFormat(
255// "[PRIM COUNT MODULE]: GetPrimCounts for parcel {0} in {1}", parcelID, m_Scene.RegionInfo.RegionName); 239// "[PRIM COUNT MODULE]: GetPrimCounts for parcel {0} in {1}", parcelID, m_Scene.RegionInfo.RegionName);
256 240
257 PrimCounts primCounts; 241 PrimCounts primCounts;
258 242
259 lock (m_PrimCounts) 243 lock (m_PrimCounts)
@@ -267,7 +251,7 @@ namespace OpenSim.Region.CoreModules.World.Land
267 return primCounts; 251 return primCounts;
268 } 252 }
269 253
270 254
271 /// <summary> 255 /// <summary>
272 /// Get the number of prims on the parcel that are owned by the parcel owner. 256 /// Get the number of prims on the parcel that are owned by the parcel owner.
273 /// </summary> 257 /// </summary>
@@ -276,7 +260,7 @@ namespace OpenSim.Region.CoreModules.World.Land
276 public int GetOwnerCount(UUID parcelID) 260 public int GetOwnerCount(UUID parcelID)
277 { 261 {
278 int count = 0; 262 int count = 0;
279 263
280 lock (m_TaintLock) 264 lock (m_TaintLock)
281 { 265 {
282 if (m_Tainted) 266 if (m_Tainted)
@@ -286,11 +270,11 @@ namespace OpenSim.Region.CoreModules.World.Land
286 if (m_ParcelCounts.TryGetValue(parcelID, out counts)) 270 if (m_ParcelCounts.TryGetValue(parcelID, out counts))
287 count = counts.Owner; 271 count = counts.Owner;
288 } 272 }
289 273
290// m_log.DebugFormat( 274// m_log.DebugFormat(
291// "[PRIM COUNT MODULE]: GetOwnerCount for parcel {0} in {1} returning {2}", 275// "[PRIM COUNT MODULE]: GetOwnerCount for parcel {0} in {1} returning {2}",
292// parcelID, m_Scene.RegionInfo.RegionName, count); 276// parcelID, m_Scene.RegionInfo.RegionName, count);
293 277
294 return count; 278 return count;
295 } 279 }
296 280
@@ -298,11 +282,11 @@ namespace OpenSim.Region.CoreModules.World.Land
298 /// Get the number of prims on the parcel that have been set to the group that owns the parcel. 282 /// Get the number of prims on the parcel that have been set to the group that owns the parcel.
299 /// </summary> 283 /// </summary>
300 /// <param name="parcelID"></param> 284 /// <param name="parcelID"></param>
301 /// <returns></returns> 285 /// <returns></returns>
302 public int GetGroupCount(UUID parcelID) 286 public int GetGroupCount(UUID parcelID)
303 { 287 {
304 int count = 0; 288 int count = 0;
305 289
306 lock (m_TaintLock) 290 lock (m_TaintLock)
307 { 291 {
308 if (m_Tainted) 292 if (m_Tainted)
@@ -312,11 +296,11 @@ namespace OpenSim.Region.CoreModules.World.Land
312 if (m_ParcelCounts.TryGetValue(parcelID, out counts)) 296 if (m_ParcelCounts.TryGetValue(parcelID, out counts))
313 count = counts.Group; 297 count = counts.Group;
314 } 298 }
315 299
316// m_log.DebugFormat( 300// m_log.DebugFormat(
317// "[PRIM COUNT MODULE]: GetGroupCount for parcel {0} in {1} returning {2}", 301// "[PRIM COUNT MODULE]: GetGroupCount for parcel {0} in {1} returning {2}",
318// parcelID, m_Scene.RegionInfo.RegionName, count); 302// parcelID, m_Scene.RegionInfo.RegionName, count);
319 303
320 return count; 304 return count;
321 } 305 }
322 306
@@ -324,11 +308,11 @@ namespace OpenSim.Region.CoreModules.World.Land
324 /// Get the number of prims on the parcel that are not owned by the parcel owner or set to the parcel group. 308 /// Get the number of prims on the parcel that are not owned by the parcel owner or set to the parcel group.
325 /// </summary> 309 /// </summary>
326 /// <param name="parcelID"></param> 310 /// <param name="parcelID"></param>
327 /// <returns></returns> 311 /// <returns></returns>
328 public int GetOthersCount(UUID parcelID) 312 public int GetOthersCount(UUID parcelID)
329 { 313 {
330 int count = 0; 314 int count = 0;
331 315
332 lock (m_TaintLock) 316 lock (m_TaintLock)
333 { 317 {
334 if (m_Tainted) 318 if (m_Tainted)
@@ -338,23 +322,23 @@ namespace OpenSim.Region.CoreModules.World.Land
338 if (m_ParcelCounts.TryGetValue(parcelID, out counts)) 322 if (m_ParcelCounts.TryGetValue(parcelID, out counts))
339 count = counts.Others; 323 count = counts.Others;
340 } 324 }
341 325
342// m_log.DebugFormat( 326// m_log.DebugFormat(
343// "[PRIM COUNT MODULE]: GetOthersCount for parcel {0} in {1} returning {2}", 327// "[PRIM COUNT MODULE]: GetOthersCount for parcel {0} in {1} returning {2}",
344// parcelID, m_Scene.RegionInfo.RegionName, count); 328// parcelID, m_Scene.RegionInfo.RegionName, count);
345 329
346 return count; 330 return count;
347 } 331 }
348 332
349 /// <summary> 333 /// <summary>
350 /// Get the number of selected prims. 334 /// Get the number of selected prims.
351 /// </summary> 335 /// </summary>
352 /// <param name="parcelID"></param> 336 /// <param name="parcelID"></param>
353 /// <returns></returns> 337 /// <returns></returns>
354 public int GetSelectedCount(UUID parcelID) 338 public int GetSelectedCount(UUID parcelID)
355 { 339 {
356 int count = 0; 340 int count = 0;
357 341
358 lock (m_TaintLock) 342 lock (m_TaintLock)
359 { 343 {
360 if (m_Tainted) 344 if (m_Tainted)
@@ -364,24 +348,24 @@ namespace OpenSim.Region.CoreModules.World.Land
364 if (m_ParcelCounts.TryGetValue(parcelID, out counts)) 348 if (m_ParcelCounts.TryGetValue(parcelID, out counts))
365 count = counts.Selected; 349 count = counts.Selected;
366 } 350 }
367 351
368// m_log.DebugFormat( 352// m_log.DebugFormat(
369// "[PRIM COUNT MODULE]: GetSelectedCount for parcel {0} in {1} returning {2}", 353// "[PRIM COUNT MODULE]: GetSelectedCount for parcel {0} in {1} returning {2}",
370// parcelID, m_Scene.RegionInfo.RegionName, count); 354// parcelID, m_Scene.RegionInfo.RegionName, count);
371 355
372 return count; 356 return count;
373 } 357 }
374 358
375 /// <summary> 359 /// <summary>
376 /// Get the total count of owner, group and others prims on the parcel. 360 /// Get the total count of owner, group and others prims on the parcel.
377 /// FIXME: Need to do selected prims once this is reimplemented. 361 /// FIXME: Need to do selected prims once this is reimplemented.
378 /// </summary> 362 /// </summary>
379 /// <param name="parcelID"></param> 363 /// <param name="parcelID"></param>
380 /// <returns></returns> 364 /// <returns></returns>
381 public int GetTotalCount(UUID parcelID) 365 public int GetTotalCount(UUID parcelID)
382 { 366 {
383 int count = 0; 367 int count = 0;
384 368
385 lock (m_TaintLock) 369 lock (m_TaintLock)
386 { 370 {
387 if (m_Tainted) 371 if (m_Tainted)
@@ -393,31 +377,30 @@ namespace OpenSim.Region.CoreModules.World.Land
393 count = counts.Owner; 377 count = counts.Owner;
394 count += counts.Group; 378 count += counts.Group;
395 count += counts.Others; 379 count += counts.Others;
396 count += counts.Selected;
397 } 380 }
398 } 381 }
399 382
400// m_log.DebugFormat( 383// m_log.DebugFormat(
401// "[PRIM COUNT MODULE]: GetTotalCount for parcel {0} in {1} returning {2}", 384// "[PRIM COUNT MODULE]: GetTotalCount for parcel {0} in {1} returning {2}",
402// parcelID, m_Scene.RegionInfo.RegionName, count); 385// parcelID, m_Scene.RegionInfo.RegionName, count);
403 386
404 return count; 387 return count;
405 } 388 }
406 389
407 /// <summary> 390 /// <summary>
408 /// Get the number of prims that are in the entire simulator for the owner of this parcel. 391 /// Get the number of prims that are in the entire simulator for the owner of this parcel.
409 /// </summary> 392 /// </summary>
410 /// <param name="parcelID"></param> 393 /// <param name="parcelID"></param>
411 /// <returns></returns> 394 /// <returns></returns>
412 public int GetSimulatorCount(UUID parcelID) 395 public int GetSimulatorCount(UUID parcelID)
413 { 396 {
414 int count = 0; 397 int count = 0;
415 398
416 lock (m_TaintLock) 399 lock (m_TaintLock)
417 { 400 {
418 if (m_Tainted) 401 if (m_Tainted)
419 Recount(); 402 Recount();
420 403
421 UUID owner; 404 UUID owner;
422 if (m_OwnerMap.TryGetValue(parcelID, out owner)) 405 if (m_OwnerMap.TryGetValue(parcelID, out owner))
423 { 406 {
@@ -426,11 +409,11 @@ namespace OpenSim.Region.CoreModules.World.Land
426 count = val; 409 count = val;
427 } 410 }
428 } 411 }
429 412
430// m_log.DebugFormat( 413// m_log.DebugFormat(
431// "[PRIM COUNT MODULE]: GetOthersCount for parcel {0} in {1} returning {2}", 414// "[PRIM COUNT MODULE]: GetOthersCount for parcel {0} in {1} returning {2}",
432// parcelID, m_Scene.RegionInfo.RegionName, count); 415// parcelID, m_Scene.RegionInfo.RegionName, count);
433 416
434 return count; 417 return count;
435 } 418 }
436 419
@@ -439,11 +422,11 @@ namespace OpenSim.Region.CoreModules.World.Land
439 /// </summary> 422 /// </summary>
440 /// <param name="parcelID"></param> 423 /// <param name="parcelID"></param>
441 /// <param name="userID"></param> 424 /// <param name="userID"></param>
442 /// <returns></returns> 425 /// <returns></returns>
443 public int GetUserCount(UUID parcelID, UUID userID) 426 public int GetUserCount(UUID parcelID, UUID userID)
444 { 427 {
445 int count = 0; 428 int count = 0;
446 429
447 lock (m_TaintLock) 430 lock (m_TaintLock)
448 { 431 {
449 if (m_Tainted) 432 if (m_Tainted)
@@ -459,9 +442,9 @@ namespace OpenSim.Region.CoreModules.World.Land
459 } 442 }
460 443
461// m_log.DebugFormat( 444// m_log.DebugFormat(
462// "[PRIM COUNT MODULE]: GetUserCount for user {0} in parcel {1} in region {2} returning {3}", 445// "[PRIM COUNT MODULE]: GetUserCount for user {0} in parcel {1} in region {2} returning {3}",
463// userID, parcelID, m_Scene.RegionInfo.RegionName, count); 446// userID, parcelID, m_Scene.RegionInfo.RegionName, count);
464 447
465 return count; 448 return count;
466 } 449 }
467 450
@@ -469,13 +452,13 @@ namespace OpenSim.Region.CoreModules.World.Land
469 private void Recount() 452 private void Recount()
470 { 453 {
471// m_log.DebugFormat("[PRIM COUNT MODULE]: Recounting prims on {0}", m_Scene.RegionInfo.RegionName); 454// m_log.DebugFormat("[PRIM COUNT MODULE]: Recounting prims on {0}", m_Scene.RegionInfo.RegionName);
472 455
473 m_OwnerMap.Clear(); 456 m_OwnerMap.Clear();
474 m_SimwideCounts.Clear(); 457 m_SimwideCounts.Clear();
475 m_ParcelCounts.Clear(); 458 m_ParcelCounts.Clear();
476 459
477 List<ILandObject> land = m_Scene.LandChannel.AllParcels(); 460 List<ILandObject> land = m_Scene.LandChannel.AllParcels();
478 461
479 foreach (ILandObject l in land) 462 foreach (ILandObject l in land)
480 { 463 {
481 LandData landData = l.LandData; 464 LandData landData = l.LandData;
@@ -483,7 +466,7 @@ namespace OpenSim.Region.CoreModules.World.Land
483 m_OwnerMap[landData.GlobalID] = landData.OwnerID; 466 m_OwnerMap[landData.GlobalID] = landData.OwnerID;
484 m_SimwideCounts[landData.OwnerID] = 0; 467 m_SimwideCounts[landData.OwnerID] = 0;
485// m_log.DebugFormat( 468// m_log.DebugFormat(
486// "[PRIM COUNT MODULE]: Initializing parcel count for {0} on {1}", 469// "[PRIM COUNT MODULE]: Initializing parcel count for {0} on {1}",
487// landData.Name, m_Scene.RegionInfo.RegionName); 470// landData.Name, m_Scene.RegionInfo.RegionName);
488 m_ParcelCounts[landData.GlobalID] = new ParcelCounts(); 471 m_ParcelCounts[landData.GlobalID] = new ParcelCounts();
489 } 472 }
@@ -499,7 +482,7 @@ namespace OpenSim.Region.CoreModules.World.Land
499 m_PrimCounts.Remove(k); 482 m_PrimCounts.Remove(k);
500 } 483 }
501 } 484 }
502 485
503 m_Tainted = false; 486 m_Tainted = false;
504 } 487 }
505 } 488 }
@@ -541,7 +524,7 @@ namespace OpenSim.Region.CoreModules.World.Land
541 return m_Parent.GetOthersCount(m_ParcelID); 524 return m_Parent.GetOthersCount(m_ParcelID);
542 } 525 }
543 } 526 }
544 527
545 public int Selected 528 public int Selected
546 { 529 {
547 get 530 get
@@ -549,7 +532,7 @@ namespace OpenSim.Region.CoreModules.World.Land
549 return m_Parent.GetSelectedCount(m_ParcelID); 532 return m_Parent.GetSelectedCount(m_ParcelID);
550 } 533 }
551 } 534 }
552 535
553 public int Total 536 public int Total
554 { 537 {
555 get 538 get
@@ -597,4 +580,4 @@ namespace OpenSim.Region.CoreModules.World.Land
597 } 580 }
598 } 581 }
599 } 582 }
600} \ No newline at end of file 583}