Reflect the ParcelPropertiesUpdateRequest into Scene.EventManager, because
modules need to see it (Search!) even if it comes in via CAPSviewer-2-initial-appearance
parent
7f9f9f9246
commit
0246edc2ea
|
@ -1103,7 +1103,11 @@ namespace OpenSim.Region.CoreModules.World.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)
|
||||
|
@ -1408,9 +1412,13 @@ namespace OpenSim.Region.CoreModules.World.Land
|
|||
m_landList.TryGetValue(parcelID, out land);
|
||||
}
|
||||
|
||||
if (land != null) {
|
||||
if (land != null)
|
||||
{
|
||||
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);
|
||||
}
|
||||
return LLSDHelpers.SerialiseLLSDReply(new LLSDEmpty());
|
||||
|
|
|
@ -109,6 +109,8 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
|
||||
public event OnSetRootAgentSceneDelegate OnSetRootAgentScene;
|
||||
|
||||
public event ParcelPropertiesUpdateRequest OnParcelPropertiesUpdateRequest;
|
||||
|
||||
/// <summary>
|
||||
/// Fired when an object is touched/grabbed.
|
||||
/// </summary>
|
||||
|
@ -2104,5 +2106,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