mirror of
https://github.com/opensim/opensim.git
synced 2026-08-10 03:06:05 +08:00
Added new ForEachRootScenePresence to Scene since almost every delegate passed to ForEachScenePresence checks for !IsChildAgent first. It consolidates child and root handling for coming refactors.
This commit is contained in:
@@ -279,12 +279,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat
|
||||
|
||||
HashSet<UUID> receiverIDs = new HashSet<UUID>();
|
||||
|
||||
((Scene)c.Scene).ForEachScenePresence(
|
||||
((Scene)c.Scene).ForEachRootScenePresence(
|
||||
delegate(ScenePresence presence)
|
||||
{
|
||||
// ignore chat from child agents
|
||||
if (presence.IsChildAgent) return;
|
||||
|
||||
{
|
||||
IClientAPI client = presence.ControllingClient;
|
||||
|
||||
// don't forward SayOwner chat from objects to
|
||||
|
||||
@@ -140,10 +140,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Gods
|
||||
// This is a bit crude. It seems the client will be null before it actually stops the thread
|
||||
// The thread will kill itself eventually :/
|
||||
// Is there another way to make sure *all* clients get this 'inter region' message?
|
||||
m_scene.ForEachScenePresence(
|
||||
m_scene.ForEachRootScenePresence(
|
||||
delegate(ScenePresence p)
|
||||
{
|
||||
if (p.UUID != godID && !p.IsChildAgent)
|
||||
if (p.UUID != godID)
|
||||
{
|
||||
// Possibly this should really be p.Close() though that method doesn't send a close
|
||||
// to the client
|
||||
|
||||
Reference in New Issue
Block a user