Reflect the ParcelPropertiesUpdateRequest into Scene.EventManager, because
modules need to see it (Search!) even if it comes in via CAPSavinationmerge
parent
b9c20fbaa7
commit
00a23eea0e
|
@ -1115,7 +1115,11 @@ namespace OpenSim.Region.CoreModules.World.Land
|
||||||
m_landList.TryGetValue(localID, out land);
|
m_landList.TryGetValue(localID, out land);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (land != null) land.UpdateLandProperties(args, remote_client);
|
if (land != null)
|
||||||
|
{
|
||||||
|
land.UpdateLandProperties(args, remote_client);
|
||||||
|
m_scene.EventManager.TriggerOnParcelPropertiesUpdateRequest(args, localID, remote_client);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ClientOnParcelDivideRequest(int west, int south, int east, int north, IClientAPI remote_client)
|
public void ClientOnParcelDivideRequest(int west, int south, int east, int north, IClientAPI remote_client)
|
||||||
|
@ -1433,9 +1437,13 @@ namespace OpenSim.Region.CoreModules.World.Land
|
||||||
m_landList.TryGetValue(parcelID, out land);
|
m_landList.TryGetValue(parcelID, out land);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (land != null) {
|
if (land != null)
|
||||||
|
{
|
||||||
land.UpdateLandProperties(land_update, client);
|
land.UpdateLandProperties(land_update, client);
|
||||||
} else {
|
m_scene.EventManager.TriggerOnParcelPropertiesUpdateRequest(land_update, parcelID, client);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
m_log.WarnFormat("[LAND] unable to find parcelID {0}", parcelID);
|
m_log.WarnFormat("[LAND] unable to find parcelID {0}", parcelID);
|
||||||
}
|
}
|
||||||
return LLSDHelpers.SerialiseLLSDReply(new LLSDEmpty());
|
return LLSDHelpers.SerialiseLLSDReply(new LLSDEmpty());
|
||||||
|
|
|
@ -113,6 +113,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
public event OnSetRootAgentSceneDelegate OnSetRootAgentScene;
|
public event OnSetRootAgentSceneDelegate OnSetRootAgentScene;
|
||||||
|
|
||||||
|
public event ParcelPropertiesUpdateRequest OnParcelPropertiesUpdateRequest;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Fired when an object is touched/grabbed.
|
/// Fired when an object is touched/grabbed.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -2128,5 +2130,27 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void TriggerOnParcelPropertiesUpdateRequest(LandUpdateArgs args,
|
||||||
|
int local_id, IClientAPI remote_client)
|
||||||
|
{
|
||||||
|
ParcelPropertiesUpdateRequest handler = OnParcelPropertiesUpdateRequest;
|
||||||
|
if (handler != null)
|
||||||
|
{
|
||||||
|
foreach (ParcelPropertiesUpdateRequest d in handler.GetInvocationList())
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
d(args, local_id, remote_client);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
m_log.ErrorFormat(
|
||||||
|
"[EVENT MANAGER]: Delegate for TriggerOnSceneObjectPartCopy failed - continuing. {0} {1}",
|
||||||
|
e.Message, e.StackTrace);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue