diff options
author | UbitUmarov | 2016-10-08 01:27:02 +0100 |
---|---|---|
committer | UbitUmarov | 2016-10-08 01:27:02 +0100 |
commit | 9843e3776ed4a613fb5682112e9e6b618cb14f9f (patch) | |
tree | e6198111f4a331e331643ef00ddc29cc007d9af0 /OpenSim/Region/CoreModules/Scripting | |
parent | recover regions main http server ssl suport. Using a PKCS12 cert file, and no... (diff) | |
parent | remove attachment to event OnPreAgentUpdate that is doing nothing (diff) | |
download | opensim-SC-9843e3776ed4a613fb5682112e9e6b618cb14f9f.zip opensim-SC-9843e3776ed4a613fb5682112e9e6b618cb14f9f.tar.gz opensim-SC-9843e3776ed4a613fb5682112e9e6b618cb14f9f.tar.bz2 opensim-SC-9843e3776ed4a613fb5682112e9e6b618cb14f9f.tar.xz |
Merge branch 'master' into httptests
Diffstat (limited to 'OpenSim/Region/CoreModules/Scripting')
-rw-r--r-- | OpenSim/Region/CoreModules/Scripting/WorldComm/WorldCommModule.cs | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/OpenSim/Region/CoreModules/Scripting/WorldComm/WorldCommModule.cs b/OpenSim/Region/CoreModules/Scripting/WorldComm/WorldCommModule.cs index 483c25f..e1c0cd7 100644 --- a/OpenSim/Region/CoreModules/Scripting/WorldComm/WorldCommModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/WorldComm/WorldCommModule.cs | |||
@@ -374,9 +374,11 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm | |||
374 | if (channel == DEBUG_CHANNEL) | 374 | if (channel == DEBUG_CHANNEL) |
375 | return; | 375 | return; |
376 | 376 | ||
377 | // Is id an avatar? | 377 | if(target == UUID.Zero) |
378 | ScenePresence sp = m_scene.GetScenePresence(target); | 378 | return; |
379 | 379 | ||
380 | // Is target an avatar? | ||
381 | ScenePresence sp = m_scene.GetScenePresence(target); | ||
380 | if (sp != null) | 382 | if (sp != null) |
381 | { | 383 | { |
382 | // Send message to avatar | 384 | // Send message to avatar |
@@ -401,19 +403,22 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm | |||
401 | foreach (SceneObjectGroup sog in attachments) | 403 | foreach (SceneObjectGroup sog in attachments) |
402 | { | 404 | { |
403 | if (!sog.IsDeleted) | 405 | if (!sog.IsDeleted) |
404 | targets.Add(sog.UUID); | 406 | { |
407 | SceneObjectPart[] parts = sog.Parts; | ||
408 | foreach(SceneObjectPart p in parts) | ||
409 | targets.Add(p.UUID); | ||
410 | } | ||
405 | } | 411 | } |
406 | 412 | ||
407 | // Need to check each attachment | ||
408 | foreach (ListenerInfo li in m_listenerManager.GetListeners(UUID.Zero, channel, name, id, msg)) | 413 | foreach (ListenerInfo li in m_listenerManager.GetListeners(UUID.Zero, channel, name, id, msg)) |
409 | { | 414 | { |
410 | if (li.GetHostID().Equals(id)) | 415 | UUID liHostID = li.GetHostID(); |
416 | if (liHostID.Equals(id)) | ||
411 | continue; | 417 | continue; |
412 | 418 | if (m_scene.GetSceneObjectPart(liHostID) == null) | |
413 | if (m_scene.GetSceneObjectPart(li.GetHostID()) == null) | ||
414 | continue; | 419 | continue; |
415 | 420 | ||
416 | if (targets.Contains(li.GetHostID())) | 421 | if (targets.Contains(liHostID)) |
417 | QueueMessage(new ListenerInfo(li, name, id, msg)); | 422 | QueueMessage(new ListenerInfo(li, name, id, msg)); |
418 | } | 423 | } |
419 | 424 | ||
@@ -426,16 +431,15 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm | |||
426 | 431 | ||
427 | foreach (ListenerInfo li in m_listenerManager.GetListeners(UUID.Zero, channel, name, id, msg)) | 432 | foreach (ListenerInfo li in m_listenerManager.GetListeners(UUID.Zero, channel, name, id, msg)) |
428 | { | 433 | { |
434 | UUID liHostID = li.GetHostID(); | ||
429 | // Dont process if this message is from yourself! | 435 | // Dont process if this message is from yourself! |
430 | if (li.GetHostID().Equals(id)) | 436 | if (liHostID.Equals(id)) |
431 | continue; | 437 | continue; |
432 | 438 | ||
433 | SceneObjectPart sPart = m_scene.GetSceneObjectPart( | 439 | if (m_scene.GetSceneObjectPart(liHostID) == null) |
434 | li.GetHostID()); | ||
435 | if (sPart == null) | ||
436 | continue; | 440 | continue; |
437 | 441 | ||
438 | if (li.GetHostID().Equals(target)) | 442 | if (liHostID.Equals(target)) |
439 | { | 443 | { |
440 | QueueMessage(new ListenerInfo(li, name, id, msg)); | 444 | QueueMessage(new ListenerInfo(li, name, id, msg)); |
441 | break; | 445 | break; |