Merge branch 'master' into cmickeyb
commit
d3987024d7
|
@ -489,7 +489,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
|
||||||
im.imSessionID = im.fromAgentID;
|
im.imSessionID = im.fromAgentID;
|
||||||
|
|
||||||
// Try the local sim
|
// Try the local sim
|
||||||
UserAccount account = UserAccountService.GetUserAccount(Scene.RegionInfo.ScopeID, agentID);
|
UserAccount account = UserAccountService.GetUserAccount(UUID.Zero, agentID);
|
||||||
im.fromAgentName = (account == null) ? "Unknown" : account.FirstName + " " + account.LastName;
|
im.fromAgentName = (account == null) ? "Unknown" : account.FirstName + " " + account.LastName;
|
||||||
|
|
||||||
if (LocalFriendshipOffered(friendID, im))
|
if (LocalFriendshipOffered(friendID, im))
|
||||||
|
|
|
@ -116,7 +116,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
|
||||||
if (!UUID.TryParse(request["ToID"].ToString(), out toID))
|
if (!UUID.TryParse(request["ToID"].ToString(), out toID))
|
||||||
return FailureResult();
|
return FailureResult();
|
||||||
|
|
||||||
UserAccount account = m_FriendsModule.UserAccountService.GetUserAccount(m_FriendsModule.Scene.RegionInfo.ScopeID, fromID);
|
UserAccount account = m_FriendsModule.UserAccountService.GetUserAccount(UUID.Zero, fromID);
|
||||||
string name = (account == null) ? "Unknown" : account.FirstName + " " + account.LastName;
|
string name = (account == null) ? "Unknown" : account.FirstName + " " + account.LastName;
|
||||||
|
|
||||||
GridInstantMessage im = new GridInstantMessage(m_FriendsModule.Scene, fromID, name, toID,
|
GridInstantMessage im = new GridInstantMessage(m_FriendsModule.Scene, fromID, name, toID,
|
||||||
|
|
|
@ -1515,7 +1515,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
||||||
// If we fail to cross the border, then reset the position of the scene object on that border.
|
// If we fail to cross the border, then reset the position of the scene object on that border.
|
||||||
uint x = 0, y = 0;
|
uint x = 0, y = 0;
|
||||||
Utils.LongToUInts(newRegionHandle, out x, out y);
|
Utils.LongToUInts(newRegionHandle, out x, out y);
|
||||||
GridRegion destination = scene.GridService.GetRegionByPosition(UUID.Zero, (int)x, (int)y);
|
GridRegion destination = scene.GridService.GetRegionByPosition(scene.RegionInfo.ScopeID, (int)x, (int)y);
|
||||||
if (destination != null && !CrossPrimGroupIntoNewRegion(destination, grp, silent))
|
if (destination != null && !CrossPrimGroupIntoNewRegion(destination, grp, silent))
|
||||||
{
|
{
|
||||||
grp.OffsetForNewRegion(oldGroupPosition);
|
grp.OffsetForNewRegion(oldGroupPosition);
|
||||||
|
|
|
@ -183,7 +183,7 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
return returnstring;
|
return returnstring;
|
||||||
}
|
}
|
||||||
|
|
||||||
UserAccount account = m_Scenes[0].UserAccountService.GetUserAccount(m_Scenes[0].RegionInfo.ScopeID, uuid);
|
UserAccount account = m_Scenes[0].UserAccountService.GetUserAccount(UUID.Zero, uuid);
|
||||||
|
|
||||||
if (account != null)
|
if (account != null)
|
||||||
{
|
{
|
||||||
|
|
|
@ -37,6 +37,7 @@ using OpenSim.Region.Framework.Interfaces;
|
||||||
using OpenSim.Server.Base;
|
using OpenSim.Server.Base;
|
||||||
using OpenSim.Server.Handlers.Base;
|
using OpenSim.Server.Handlers.Base;
|
||||||
using OpenSim.Services.Interfaces;
|
using OpenSim.Services.Interfaces;
|
||||||
|
using OpenMetaverse;
|
||||||
|
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Land
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Land
|
||||||
|
@ -121,7 +122,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Land
|
||||||
|
|
||||||
#region ILandService
|
#region ILandService
|
||||||
|
|
||||||
public LandData GetLandData(ulong regionHandle, uint x, uint y, out byte regionAccess)
|
public LandData GetLandData(UUID scopeID, ulong regionHandle, uint x, uint y, out byte regionAccess)
|
||||||
{
|
{
|
||||||
m_log.DebugFormat("[LAND IN CONNECTOR]: GetLandData for {0}. Count = {1}",
|
m_log.DebugFormat("[LAND IN CONNECTOR]: GetLandData for {0}. Count = {1}",
|
||||||
regionHandle, m_Scenes.Count);
|
regionHandle, m_Scenes.Count);
|
||||||
|
|
|
@ -35,6 +35,7 @@ using OpenSim.Server.Base;
|
||||||
using OpenSim.Region.Framework.Interfaces;
|
using OpenSim.Region.Framework.Interfaces;
|
||||||
using OpenSim.Region.Framework.Scenes;
|
using OpenSim.Region.Framework.Scenes;
|
||||||
using OpenSim.Services.Interfaces;
|
using OpenSim.Services.Interfaces;
|
||||||
|
using OpenMetaverse;
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Land
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Land
|
||||||
{
|
{
|
||||||
|
@ -116,7 +117,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Land
|
||||||
|
|
||||||
#region ILandService
|
#region ILandService
|
||||||
|
|
||||||
public LandData GetLandData(ulong regionHandle, uint x, uint y, out byte regionAccess)
|
public LandData GetLandData(UUID scopeID, ulong regionHandle, uint x, uint y, out byte regionAccess)
|
||||||
{
|
{
|
||||||
regionAccess = 2;
|
regionAccess = 2;
|
||||||
m_log.DebugFormat("[LAND CONNECTOR]: request for land data in {0} at {1}, {2}",
|
m_log.DebugFormat("[LAND CONNECTOR]: request for land data in {0} at {1}, {2}",
|
||||||
|
|
|
@ -36,6 +36,7 @@ using OpenSim.Region.Framework.Interfaces;
|
||||||
using OpenSim.Region.Framework.Scenes;
|
using OpenSim.Region.Framework.Scenes;
|
||||||
using OpenSim.Services.Interfaces;
|
using OpenSim.Services.Interfaces;
|
||||||
using OpenSim.Server.Base;
|
using OpenSim.Server.Base;
|
||||||
|
using OpenMetaverse;
|
||||||
|
|
||||||
|
|
||||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Land
|
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Land
|
||||||
|
@ -109,13 +110,13 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Land
|
||||||
|
|
||||||
#region ILandService
|
#region ILandService
|
||||||
|
|
||||||
public override LandData GetLandData(ulong regionHandle, uint x, uint y, out byte regionAccess)
|
public override LandData GetLandData(UUID scopeID, ulong regionHandle, uint x, uint y, out byte regionAccess)
|
||||||
{
|
{
|
||||||
LandData land = m_LocalService.GetLandData(regionHandle, x, y, out regionAccess);
|
LandData land = m_LocalService.GetLandData(scopeID, regionHandle, x, y, out regionAccess);
|
||||||
if (land != null)
|
if (land != null)
|
||||||
return land;
|
return land;
|
||||||
|
|
||||||
return base.GetLandData(regionHandle, x, y, out regionAccess);
|
return base.GetLandData(scopeID, regionHandle, x, y, out regionAccess);
|
||||||
|
|
||||||
}
|
}
|
||||||
#endregion ILandService
|
#endregion ILandService
|
||||||
|
|
|
@ -1510,40 +1510,40 @@ namespace OpenSim.Region.CoreModules.World.Land
|
||||||
if (parcelID == UUID.Zero)
|
if (parcelID == UUID.Zero)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
ExtendedLandData data =
|
ExtendedLandData data = (ExtendedLandData)parcelInfoCache.Get(parcelID.ToString(),
|
||||||
(ExtendedLandData)parcelInfoCache.Get(parcelID.ToString(),
|
delegate(string id)
|
||||||
delegate(string id)
|
{
|
||||||
{
|
UUID parcel = UUID.Zero;
|
||||||
UUID parcel = UUID.Zero;
|
UUID.TryParse(id, out parcel);
|
||||||
UUID.TryParse(id, out parcel);
|
// assume we've got the parcelID we just computed in RemoteParcelRequest
|
||||||
// assume we've got the parcelID we just computed in RemoteParcelRequest
|
ExtendedLandData extLandData = new ExtendedLandData();
|
||||||
ExtendedLandData extLandData = new ExtendedLandData();
|
Util.ParseFakeParcelID(parcel, out extLandData.RegionHandle,
|
||||||
Util.ParseFakeParcelID(parcel, out extLandData.RegionHandle,
|
out extLandData.X, out extLandData.Y);
|
||||||
out extLandData.X, out extLandData.Y);
|
m_log.DebugFormat("[LAND] got parcelinfo request for regionHandle {0}, x/y {1}/{2}",
|
||||||
m_log.DebugFormat("[LAND] got parcelinfo request for regionHandle {0}, x/y {1}/{2}",
|
extLandData.RegionHandle, extLandData.X, extLandData.Y);
|
||||||
extLandData.RegionHandle, extLandData.X, extLandData.Y);
|
|
||||||
|
|
||||||
// for this region or for somewhere else?
|
// for this region or for somewhere else?
|
||||||
if (extLandData.RegionHandle == m_scene.RegionInfo.RegionHandle)
|
if (extLandData.RegionHandle == m_scene.RegionInfo.RegionHandle)
|
||||||
{
|
{
|
||||||
extLandData.LandData = this.GetLandObject(extLandData.X, extLandData.Y).LandData;
|
extLandData.LandData = this.GetLandObject(extLandData.X, extLandData.Y).LandData;
|
||||||
extLandData.RegionAccess = m_scene.RegionInfo.AccessLevel;
|
extLandData.RegionAccess = m_scene.RegionInfo.AccessLevel;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ILandService landService = m_scene.RequestModuleInterface<ILandService>();
|
ILandService landService = m_scene.RequestModuleInterface<ILandService>();
|
||||||
extLandData.LandData = landService.GetLandData(extLandData.RegionHandle,
|
extLandData.LandData = landService.GetLandData(m_scene.RegionInfo.ScopeID,
|
||||||
extLandData.X,
|
extLandData.RegionHandle,
|
||||||
extLandData.Y,
|
extLandData.X,
|
||||||
out extLandData.RegionAccess);
|
extLandData.Y,
|
||||||
if (extLandData.LandData == null)
|
out extLandData.RegionAccess);
|
||||||
{
|
if (extLandData.LandData == null)
|
||||||
// we didn't find the region/land => don't cache
|
{
|
||||||
return null;
|
// we didn't find the region/land => don't cache
|
||||||
}
|
return null;
|
||||||
}
|
}
|
||||||
return extLandData;
|
}
|
||||||
});
|
return extLandData;
|
||||||
|
});
|
||||||
|
|
||||||
if (data != null) // if we found some data, send it
|
if (data != null) // if we found some data, send it
|
||||||
{
|
{
|
||||||
|
@ -1557,7 +1557,7 @@ namespace OpenSim.Region.CoreModules.World.Land
|
||||||
// most likely still cached from building the extLandData entry
|
// most likely still cached from building the extLandData entry
|
||||||
uint x = 0, y = 0;
|
uint x = 0, y = 0;
|
||||||
Utils.LongToUInts(data.RegionHandle, out x, out y);
|
Utils.LongToUInts(data.RegionHandle, out x, out y);
|
||||||
info = m_scene.GridService.GetRegionByPosition(UUID.Zero, (int)x, (int)y);
|
info = m_scene.GridService.GetRegionByPosition(m_scene.RegionInfo.ScopeID, (int)x, (int)y);
|
||||||
}
|
}
|
||||||
// we need to transfer the fake parcelID, not the one in landData, so the viewer can match it to the landmark.
|
// we need to transfer the fake parcelID, not the one in landData, so the viewer can match it to the landmark.
|
||||||
m_log.DebugFormat("[LAND] got parcelinfo for parcel {0} in region {1}; sending...",
|
m_log.DebugFormat("[LAND] got parcelinfo for parcel {0} in region {1}; sending...",
|
||||||
|
|
|
@ -43,6 +43,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
public delegate bool PropagatePermissionsHandler();
|
public delegate bool PropagatePermissionsHandler();
|
||||||
public delegate bool RezObjectHandler(int objectCount, UUID owner, Vector3 objectPosition, Scene scene);
|
public delegate bool RezObjectHandler(int objectCount, UUID owner, Vector3 objectPosition, Scene scene);
|
||||||
public delegate bool DeleteObjectHandler(UUID objectID, UUID deleter, Scene scene);
|
public delegate bool DeleteObjectHandler(UUID objectID, UUID deleter, Scene scene);
|
||||||
|
public delegate bool TransferObjectHandler(UUID objectID, UUID recipient, Scene scene);
|
||||||
public delegate bool TakeObjectHandler(UUID objectID, UUID stealer, Scene scene);
|
public delegate bool TakeObjectHandler(UUID objectID, UUID stealer, Scene scene);
|
||||||
public delegate bool TakeCopyObjectHandler(UUID objectID, UUID userID, Scene inScene);
|
public delegate bool TakeCopyObjectHandler(UUID objectID, UUID userID, Scene inScene);
|
||||||
public delegate bool DuplicateObjectHandler(int objectCount, UUID objectID, UUID owner, Scene scene, Vector3 objectPosition);
|
public delegate bool DuplicateObjectHandler(int objectCount, UUID objectID, UUID owner, Scene scene, Vector3 objectPosition);
|
||||||
|
@ -80,10 +81,12 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
public delegate bool CreateObjectInventoryHandler(int invType, UUID objectID, UUID userID);
|
public delegate bool CreateObjectInventoryHandler(int invType, UUID objectID, UUID userID);
|
||||||
public delegate bool CopyObjectInventoryHandler(UUID itemID, UUID objectID, UUID userID);
|
public delegate bool CopyObjectInventoryHandler(UUID itemID, UUID objectID, UUID userID);
|
||||||
public delegate bool DeleteObjectInventoryHandler(UUID itemID, UUID objectID, UUID userID);
|
public delegate bool DeleteObjectInventoryHandler(UUID itemID, UUID objectID, UUID userID);
|
||||||
|
public delegate bool TransferObjectInventoryHandler(UUID itemID, UUID objectID, UUID userID);
|
||||||
public delegate bool CreateUserInventoryHandler(int invType, UUID userID);
|
public delegate bool CreateUserInventoryHandler(int invType, UUID userID);
|
||||||
public delegate bool EditUserInventoryHandler(UUID itemID, UUID userID);
|
public delegate bool EditUserInventoryHandler(UUID itemID, UUID userID);
|
||||||
public delegate bool CopyUserInventoryHandler(UUID itemID, UUID userID);
|
public delegate bool CopyUserInventoryHandler(UUID itemID, UUID userID);
|
||||||
public delegate bool DeleteUserInventoryHandler(UUID itemID, UUID userID);
|
public delegate bool DeleteUserInventoryHandler(UUID itemID, UUID userID);
|
||||||
|
public delegate bool TransferUserInventoryHandler(UUID itemID, UUID userID, UUID recipientID);
|
||||||
public delegate bool TeleportHandler(UUID userID, Scene scene);
|
public delegate bool TeleportHandler(UUID userID, Scene scene);
|
||||||
public delegate bool ControlPrimMediaHandler(UUID userID, UUID primID, int face);
|
public delegate bool ControlPrimMediaHandler(UUID userID, UUID primID, int face);
|
||||||
public delegate bool InteractWithPrimMediaHandler(UUID userID, UUID primID, int face);
|
public delegate bool InteractWithPrimMediaHandler(UUID userID, UUID primID, int face);
|
||||||
|
@ -107,6 +110,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
public event PropagatePermissionsHandler OnPropagatePermissions;
|
public event PropagatePermissionsHandler OnPropagatePermissions;
|
||||||
public event RezObjectHandler OnRezObject;
|
public event RezObjectHandler OnRezObject;
|
||||||
public event DeleteObjectHandler OnDeleteObject;
|
public event DeleteObjectHandler OnDeleteObject;
|
||||||
|
public event TransferObjectHandler OnTransferObject;
|
||||||
public event TakeObjectHandler OnTakeObject;
|
public event TakeObjectHandler OnTakeObject;
|
||||||
public event TakeCopyObjectHandler OnTakeCopyObject;
|
public event TakeCopyObjectHandler OnTakeCopyObject;
|
||||||
public event DuplicateObjectHandler OnDuplicateObject;
|
public event DuplicateObjectHandler OnDuplicateObject;
|
||||||
|
@ -144,10 +148,12 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
public event CreateObjectInventoryHandler OnCreateObjectInventory;
|
public event CreateObjectInventoryHandler OnCreateObjectInventory;
|
||||||
public event CopyObjectInventoryHandler OnCopyObjectInventory;
|
public event CopyObjectInventoryHandler OnCopyObjectInventory;
|
||||||
public event DeleteObjectInventoryHandler OnDeleteObjectInventory;
|
public event DeleteObjectInventoryHandler OnDeleteObjectInventory;
|
||||||
|
public event TransferObjectInventoryHandler OnTransferObjectInventory;
|
||||||
public event CreateUserInventoryHandler OnCreateUserInventory;
|
public event CreateUserInventoryHandler OnCreateUserInventory;
|
||||||
public event EditUserInventoryHandler OnEditUserInventory;
|
public event EditUserInventoryHandler OnEditUserInventory;
|
||||||
public event CopyUserInventoryHandler OnCopyUserInventory;
|
public event CopyUserInventoryHandler OnCopyUserInventory;
|
||||||
public event DeleteUserInventoryHandler OnDeleteUserInventory;
|
public event DeleteUserInventoryHandler OnDeleteUserInventory;
|
||||||
|
public event TransferUserInventoryHandler OnTransferUserInventory;
|
||||||
public event TeleportHandler OnTeleport;
|
public event TeleportHandler OnTeleport;
|
||||||
public event ControlPrimMediaHandler OnControlPrimMedia;
|
public event ControlPrimMediaHandler OnControlPrimMedia;
|
||||||
public event InteractWithPrimMediaHandler OnInteractWithPrimMedia;
|
public event InteractWithPrimMediaHandler OnInteractWithPrimMedia;
|
||||||
|
@ -264,9 +270,26 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// m_log.DebugFormat(
|
return result;
|
||||||
// "[SCENE PERMISSIONS]: CanDeleteObject() fired for object {0}, deleter {1}, result {2}",
|
}
|
||||||
// objectID, deleter, result);
|
|
||||||
|
public bool CanTransferObject(UUID objectID, UUID recipient)
|
||||||
|
{
|
||||||
|
bool result = true;
|
||||||
|
|
||||||
|
TransferObjectHandler handler = OnTransferObject;
|
||||||
|
if (handler != null)
|
||||||
|
{
|
||||||
|
Delegate[] list = handler.GetInvocationList();
|
||||||
|
foreach (TransferObjectHandler h in list)
|
||||||
|
{
|
||||||
|
if (h(objectID, recipient, m_scene) == false)
|
||||||
|
{
|
||||||
|
result = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -917,6 +940,21 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool CanTransferObjectInventory(UUID itemID, UUID objectID, UUID userID)
|
||||||
|
{
|
||||||
|
TransferObjectInventoryHandler handler = OnTransferObjectInventory;
|
||||||
|
if (handler != null)
|
||||||
|
{
|
||||||
|
Delegate[] list = handler.GetInvocationList();
|
||||||
|
foreach (TransferObjectInventoryHandler h in list)
|
||||||
|
{
|
||||||
|
if (h(itemID, objectID, userID) == false)
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Check whether the specified user is allowed to create the given inventory type in their inventory.
|
/// Check whether the specified user is allowed to create the given inventory type in their inventory.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -1001,6 +1039,21 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool CanTransferUserInventory(UUID itemID, UUID userID, UUID recipientID)
|
||||||
|
{
|
||||||
|
TransferUserInventoryHandler handler = OnTransferUserInventory;
|
||||||
|
if (handler != null)
|
||||||
|
{
|
||||||
|
Delegate[] list = handler.GetInvocationList();
|
||||||
|
foreach (TransferUserInventoryHandler h in list)
|
||||||
|
{
|
||||||
|
if (h(itemID, userID, recipientID) == false)
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
public bool CanTeleport(UUID userID)
|
public bool CanTeleport(UUID userID)
|
||||||
{
|
{
|
||||||
TeleportHandler handler = OnTeleport;
|
TeleportHandler handler = OnTeleport;
|
||||||
|
|
|
@ -193,7 +193,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public delegate void SendChildAgentDataUpdateDelegate(AgentPosition cAgentData, ulong regionHandle);
|
public delegate void SendChildAgentDataUpdateDelegate(AgentPosition cAgentData, UUID scopeID, ulong regionHandle);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// This informs all neighboring regions about the settings of it's child agent.
|
/// This informs all neighboring regions about the settings of it's child agent.
|
||||||
|
@ -202,7 +202,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
/// This contains information, such as, Draw Distance, Camera location, Current Position, Current throttle settings, etc.
|
/// This contains information, such as, Draw Distance, Camera location, Current Position, Current throttle settings, etc.
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void SendChildAgentDataUpdateAsync(AgentPosition cAgentData, ulong regionHandle)
|
private void SendChildAgentDataUpdateAsync(AgentPosition cAgentData, UUID scopeID, ulong regionHandle)
|
||||||
{
|
{
|
||||||
//m_log.Info("[INTERGRID]: Informing neighbors about my agent in " + m_regionInfo.RegionName);
|
//m_log.Info("[INTERGRID]: Informing neighbors about my agent in " + m_regionInfo.RegionName);
|
||||||
try
|
try
|
||||||
|
@ -245,7 +245,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
if (regionHandle != m_regionInfo.RegionHandle)
|
if (regionHandle != m_regionInfo.RegionHandle)
|
||||||
{
|
{
|
||||||
SendChildAgentDataUpdateDelegate d = SendChildAgentDataUpdateAsync;
|
SendChildAgentDataUpdateDelegate d = SendChildAgentDataUpdateAsync;
|
||||||
d.BeginInvoke(cAgentData, regionHandle,
|
d.BeginInvoke(cAgentData, m_regionInfo.ScopeID, regionHandle,
|
||||||
SendChildAgentDataUpdateCompleted,
|
SendChildAgentDataUpdateCompleted,
|
||||||
d);
|
d);
|
||||||
}
|
}
|
||||||
|
@ -273,7 +273,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
//m_commsProvider.InterRegion.TellRegionToCloseChildConnection(regionHandle, agentID);
|
//m_commsProvider.InterRegion.TellRegionToCloseChildConnection(regionHandle, agentID);
|
||||||
uint x = 0, y = 0;
|
uint x = 0, y = 0;
|
||||||
Utils.LongToUInts(regionHandle, out x, out y);
|
Utils.LongToUInts(regionHandle, out x, out y);
|
||||||
GridRegion destination = m_scene.GridService.GetRegionByPosition(UUID.Zero, (int)x, (int)y);
|
GridRegion destination = m_scene.GridService.GetRegionByPosition(m_regionInfo.ScopeID, (int)x, (int)y);
|
||||||
m_scene.SimulationService.CloseAgent(destination, agentID);
|
m_scene.SimulationService.CloseAgent(destination, agentID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -67,7 +67,7 @@ namespace OpenSim.Server.Handlers.Land
|
||||||
m_log.DebugFormat("[LAND HANDLER]: Got request for land data at {0}, {1} for region {2}", x, y, regionHandle);
|
m_log.DebugFormat("[LAND HANDLER]: Got request for land data at {0}, {1} for region {2}", x, y, regionHandle);
|
||||||
|
|
||||||
byte regionAccess;
|
byte regionAccess;
|
||||||
LandData landData = m_LocalService.GetLandData(regionHandle, x, y, out regionAccess);
|
LandData landData = m_LocalService.GetLandData(UUID.Zero, regionHandle, x, y, out regionAccess);
|
||||||
Hashtable hash = new Hashtable();
|
Hashtable hash = new Hashtable();
|
||||||
if (landData != null)
|
if (landData != null)
|
||||||
{
|
{
|
||||||
|
|
|
@ -64,7 +64,7 @@ namespace OpenSim.Services.Connectors
|
||||||
m_GridService = gridServices;
|
m_GridService = gridServices;
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual LandData GetLandData(ulong regionHandle, uint x, uint y, out byte regionAccess)
|
public virtual LandData GetLandData(UUID scopeID, ulong regionHandle, uint x, uint y, out byte regionAccess)
|
||||||
{
|
{
|
||||||
LandData landData = null;
|
LandData landData = null;
|
||||||
Hashtable hash = new Hashtable();
|
Hashtable hash = new Hashtable();
|
||||||
|
@ -80,7 +80,7 @@ namespace OpenSim.Services.Connectors
|
||||||
{
|
{
|
||||||
uint xpos = 0, ypos = 0;
|
uint xpos = 0, ypos = 0;
|
||||||
Utils.LongToUInts(regionHandle, out xpos, out ypos);
|
Utils.LongToUInts(regionHandle, out xpos, out ypos);
|
||||||
GridRegion info = m_GridService.GetRegionByPosition(UUID.Zero, (int)xpos, (int)ypos);
|
GridRegion info = m_GridService.GetRegionByPosition(scopeID, (int)xpos, (int)ypos);
|
||||||
if (info != null) // just to be sure
|
if (info != null) // just to be sure
|
||||||
{
|
{
|
||||||
XmlRpcRequest request = new XmlRpcRequest("land_data", paramList);
|
XmlRpcRequest request = new XmlRpcRequest("land_data", paramList);
|
||||||
|
|
|
@ -71,7 +71,7 @@ namespace OpenSim.Services.Connectors
|
||||||
{
|
{
|
||||||
uint x = 0, y = 0;
|
uint x = 0, y = 0;
|
||||||
Utils.LongToUInts(regionHandle, out x, out y);
|
Utils.LongToUInts(regionHandle, out x, out y);
|
||||||
GridRegion regInfo = m_GridService.GetRegionByPosition(UUID.Zero, (int)x, (int)y);
|
GridRegion regInfo = m_GridService.GetRegionByPosition(thisRegion.ScopeID, (int)x, (int)y);
|
||||||
if ((regInfo != null) &&
|
if ((regInfo != null) &&
|
||||||
// Don't remote-call this instance; that's a startup hickup
|
// Don't remote-call this instance; that's a startup hickup
|
||||||
!((regInfo.ExternalHostName == thisRegion.ExternalHostName) && (regInfo.HttpPort == thisRegion.HttpPort)))
|
!((regInfo.ExternalHostName == thisRegion.ExternalHostName) && (regInfo.HttpPort == thisRegion.HttpPort)))
|
||||||
|
|
|
@ -33,6 +33,6 @@ namespace OpenSim.Services.Interfaces
|
||||||
{
|
{
|
||||||
public interface ILandService
|
public interface ILandService
|
||||||
{
|
{
|
||||||
LandData GetLandData(ulong regionHandle, uint x, uint y, out byte regionAccess);
|
LandData GetLandData(UUID scopeID, ulong regionHandle, uint x, uint y, out byte regionAccess);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue