aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/Scripting
diff options
context:
space:
mode:
authorUbitUmarov2016-10-08 01:27:02 +0100
committerUbitUmarov2016-10-08 01:27:02 +0100
commit9843e3776ed4a613fb5682112e9e6b618cb14f9f (patch)
treee6198111f4a331e331643ef00ddc29cc007d9af0 /OpenSim/Region/CoreModules/Scripting
parentrecover 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)
downloadopensim-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.cs32
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;