mirror of
https://github.com/opensim/opensim.git
synced 2026-08-08 10:15:33 +08:00
Correctly flag group owned prims in the land prim list
This commit is contained in:
@@ -1228,7 +1228,7 @@ namespace OpenSim.Client.MXP.ClientStack
|
||||
// Need to translate to MXP somehow
|
||||
}
|
||||
|
||||
public void SendLandObjectOwners(LandData land, Dictionary<UUID, int> ownersAndCount)
|
||||
public void SendLandObjectOwners(LandData land, List<UUID> groups, Dictionary<UUID, int> ownersAndCount)
|
||||
{
|
||||
// Need to translate to MXP somehow
|
||||
}
|
||||
|
||||
@@ -996,7 +996,7 @@ namespace OpenSim.Framework
|
||||
|
||||
void SendLandAccessListData(List<UUID> avatars, uint accessFlag, int localLandID);
|
||||
void SendForceClientSelectObjects(List<uint> objectIDs);
|
||||
void SendLandObjectOwners(LandData land, Dictionary<UUID, int> ownersAndCount);
|
||||
void SendLandObjectOwners(LandData land, List<UUID> groups, Dictionary<UUID, int> ownersAndCount);
|
||||
void SendLandParcelOverlay(byte[] data, int sequence_id);
|
||||
|
||||
#region Parcel Methods
|
||||
|
||||
@@ -3420,7 +3420,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||
}
|
||||
}
|
||||
|
||||
public void SendLandObjectOwners(LandData land, Dictionary<UUID, int> ownersAndCount)
|
||||
public void SendLandObjectOwners(LandData land, List<UUID> groups, Dictionary<UUID, int> ownersAndCount)
|
||||
{
|
||||
int notifyCount = ownersAndCount.Count;
|
||||
ParcelObjectOwnersReplyPacket pack = (ParcelObjectOwnersReplyPacket)PacketPool.Instance.GetPacket(PacketType.ParcelObjectOwnersReply);
|
||||
@@ -3445,7 +3445,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||
dataBlock[num] = new ParcelObjectOwnersReplyPacket.DataBlock();
|
||||
dataBlock[num].Count = ownersAndCount[owner];
|
||||
|
||||
if (land.GroupID == owner)
|
||||
if (land.GroupID == owner || groups.Contains(owner))
|
||||
dataBlock[num].IsGroupOwned = true;
|
||||
|
||||
dataBlock[num].OnlineStatus = true; //TODO: fix me later
|
||||
|
||||
@@ -699,6 +699,7 @@ namespace OpenSim.Region.CoreModules.World.Land
|
||||
if (m_scene.Permissions.CanEditParcel(remote_client.AgentId, this))
|
||||
{
|
||||
Dictionary<UUID, int> primCount = new Dictionary<UUID, int>();
|
||||
List<UUID> groups = new List<UUID>();
|
||||
|
||||
lock (primsOverMe)
|
||||
{
|
||||
@@ -726,6 +727,8 @@ namespace OpenSim.Region.CoreModules.World.Land
|
||||
{
|
||||
m_log.Error("[LAND]: Unable to match a prim with it's owner.");
|
||||
}
|
||||
if (obj.OwnerID == obj.GroupID && (!groups.Contains(obj.OwnerID)))
|
||||
groups.Add(obj.OwnerID);
|
||||
}
|
||||
}
|
||||
catch (InvalidOperationException)
|
||||
@@ -734,7 +737,7 @@ namespace OpenSim.Region.CoreModules.World.Land
|
||||
}
|
||||
}
|
||||
|
||||
remote_client.SendLandObjectOwners(landData, primCount);
|
||||
remote_client.SendLandObjectOwners(landData, groups, primCount);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -885,7 +885,7 @@ namespace OpenSim.Region.Examples.SimpleModule
|
||||
{
|
||||
}
|
||||
|
||||
public void SendLandObjectOwners(LandData land, Dictionary<UUID, int> ownersAndCount)
|
||||
public void SendLandObjectOwners(LandData land, List<UUID> groups, Dictionary<UUID, int> ownersAndCount)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -892,7 +892,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||
public void SendForceClientSelectObjects(List<uint> objectIDs)
|
||||
{
|
||||
}
|
||||
public void SendLandObjectOwners(LandData land, Dictionary<UUID, int> ownersAndCount)
|
||||
public void SendLandObjectOwners(LandData land, List<UUID> groups, Dictionary<UUID, int> ownersAndCount)
|
||||
{
|
||||
}
|
||||
public void SendLandParcelOverlay(byte[] data, int sequence_id)
|
||||
|
||||
@@ -929,7 +929,7 @@ namespace OpenSim.Tests.Common.Mock
|
||||
{
|
||||
}
|
||||
|
||||
public void SendLandObjectOwners(LandData land, Dictionary<UUID, int> ownersAndCount)
|
||||
public void SendLandObjectOwners(LandData land, List<UUID> groups, Dictionary<UUID, int> ownersAndCount)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user