From 78a0fd52813d80a61af0d2ae4522fb757eb19d2b Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 12 May 2010 21:42:23 +0100
Subject: Only send dialogs and notices to root agents, not child agents

---
 OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs b/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs
index da38ede..b5c3176 100644
--- a/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs
@@ -81,14 +81,14 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog
         {
             ScenePresence sp = m_scene.GetScenePresence(agentID);
             
-            if (sp != null)
+            if (sp != null && !sp.IsChildAgent)
                 sp.ControllingClient.SendAgentAlertMessage(message, modal);
         }
         
         public void SendAlertToUser(string firstName, string lastName, string message, bool modal)
         {
             ScenePresence presence = m_scene.GetScenePresence(firstName, lastName);
-            if(presence != null)
+            if (presence != null && !presence.IsChildAgent)
                 presence.ControllingClient.SendAgentAlertMessage(message, modal);
         }
         
@@ -119,7 +119,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog
             }
 
             ScenePresence sp = m_scene.GetScenePresence(avatarID);
-            if (sp != null)
+            if (sp != null && !sp.IsChildAgent)
                 sp.ControllingClient.SendDialog(objectName, objectID, ownerFirstName, ownerLastName, message, textureID, ch, buttonlabels);
         }
 
@@ -128,13 +128,13 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog
         {
             ScenePresence sp = m_scene.GetScenePresence(avatarID);
             
-            if (sp != null)
+            if (sp != null && !sp.IsChildAgent)
                 sp.ControllingClient.SendLoadURL(objectName, objectID, ownerID, groupOwned, message, url);
         }
         
         public void SendTextBoxToUser(UUID avatarid, string message, int chatChannel, string name, UUID objectid, UUID ownerid)
         {
-             UserAccount account = m_scene.UserAccountService.GetUserAccount(m_scene.RegionInfo.ScopeID, ownerid);
+            UserAccount account = m_scene.UserAccountService.GetUserAccount(m_scene.RegionInfo.ScopeID, ownerid);
             string ownerFirstName, ownerLastName;
             if (account != null)
             {
@@ -147,12 +147,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog
                 ownerLastName = "user)";
             }
 
-
             ScenePresence sp = m_scene.GetScenePresence(avatarid);
             
-            if (sp != null) {
+            if (sp != null && !sp.IsChildAgent)
                 sp.ControllingClient.SendTextBoxRequest(message, chatChannel, name, ownerFirstName, ownerLastName, objectid);
-            }
         }
 
         public void SendNotificationToUsersInRegion(
@@ -207,4 +205,4 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog
             return result;
         }
     }
-}
+}
\ No newline at end of file
-- 
cgit v1.1