mirror of
https://github.com/opensim/opensim.git
synced 2026-08-05 08:55:56 +08:00
* Added a little more stability for getting the object list from the parcel box. (previously it crashed my simulator)
* Found and gracefully handled a few situations where null references occur. (m_rootPart again!)
This commit is contained in:
@@ -763,11 +763,25 @@ namespace OpenSim.Region.Environment.Modules.LandManagement
|
||||
|
||||
foreach (SceneObjectGroup obj in primsOverMe)
|
||||
{
|
||||
if (!ownersAndCount.ContainsKey(obj.OwnerID))
|
||||
try
|
||||
{
|
||||
ownersAndCount.Add(obj.OwnerID, 0);
|
||||
if (!ownersAndCount.ContainsKey(obj.OwnerID))
|
||||
{
|
||||
ownersAndCount.Add(obj.OwnerID, 0);
|
||||
}
|
||||
}
|
||||
catch (NullReferenceException)
|
||||
{
|
||||
m_log.Info("[LAND]: " + "Got Null Reference when searching land owners from the parcel panel");
|
||||
}
|
||||
try
|
||||
{
|
||||
ownersAndCount[obj.OwnerID] += obj.PrimCount;
|
||||
}
|
||||
catch (KeyNotFoundException)
|
||||
{
|
||||
m_log.Error("[LAND]: Unable to match a prim with it's owner.");
|
||||
}
|
||||
ownersAndCount[obj.OwnerID] += obj.PrimCount;
|
||||
}
|
||||
if (ownersAndCount.Count > 0)
|
||||
{
|
||||
|
||||
@@ -161,7 +161,14 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
|
||||
public override uint LocalId
|
||||
{
|
||||
get { return m_rootPart.LocalId; }
|
||||
get {
|
||||
if (m_rootPart == null)
|
||||
{
|
||||
m_log.Error("[PRIMGROUP]: Unable to find the rootpart for a LocalId Request!");
|
||||
return 0;
|
||||
}
|
||||
|
||||
return m_rootPart.LocalId; }
|
||||
set { m_rootPart.LocalId = value; }
|
||||
}
|
||||
|
||||
@@ -173,7 +180,12 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
|
||||
public LLUUID OwnerID
|
||||
{
|
||||
get { return m_rootPart.OwnerID; }
|
||||
get {
|
||||
if (m_rootPart == null)
|
||||
return LLUUID.Zero;
|
||||
|
||||
return m_rootPart.OwnerID;
|
||||
}
|
||||
set { m_rootPart.OwnerID = value; }
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user