aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs42
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.Inventory.cs8
2 files changed, 29 insertions, 21 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs b/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs
index cd59bdb..5c24f03 100644
--- a/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs
@@ -266,25 +266,29 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat
266 } 266 }
267 267
268 // m_log.DebugFormat("[CHAT] Broadcast: fromID {0} fromName {1}, cType {2}, sType {3}", fromID, fromName, cType, sourceType); 268 // m_log.DebugFormat("[CHAT] Broadcast: fromID {0} fromName {1}, cType {2}, sType {3}", fromID, fromName, cType, sourceType);
269 269 if (c.Scene != null)
270 ((Scene)c.Scene).ForEachScenePresence( 270 {
271 delegate(ScenePresence presence) 271 ((Scene)c.Scene).ForEachScenePresence
272 { 272 (
273 // ignore chat from child agents 273 delegate(ScenePresence presence)
274 if (presence.IsChildAgent) return; 274 {
275 275 // ignore chat from child agents
276 IClientAPI client = presence.ControllingClient; 276 if (presence.IsChildAgent) return;
277 277
278 // don't forward SayOwner chat from objects to 278 IClientAPI client = presence.ControllingClient;
279 // non-owner agents 279
280 if ((c.Type == ChatTypeEnum.Owner) && 280 // don't forward SayOwner chat from objects to
281 (null != c.SenderObject) && 281 // non-owner agents
282 (((SceneObjectPart)c.SenderObject).OwnerID != client.AgentId)) 282 if ((c.Type == ChatTypeEnum.Owner) &&
283 return; 283 (null != c.SenderObject) &&
284 284 (((SceneObjectPart)c.SenderObject).OwnerID != client.AgentId))
285 client.SendChatMessage(c.Message, (byte)cType, CenterOfRegion, fromName, fromID, 285 return;
286 (byte)sourceType, (byte)ChatAudibleLevel.Fully); 286
287 }); 287 client.SendChatMessage(c.Message, (byte)cType, CenterOfRegion, fromName, fromID,
288 (byte)sourceType, (byte)ChatAudibleLevel.Fully);
289 }
290 );
291 }
288 } 292 }
289 293
290 294
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
index 66fb918..83208e9 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
@@ -840,8 +840,12 @@ namespace OpenSim.Region.Framework.Scenes
840 public void RemoveTaskInventory(IClientAPI remoteClient, UUID itemID, uint localID) 840 public void RemoveTaskInventory(IClientAPI remoteClient, UUID itemID, uint localID)
841 { 841 {
842 SceneObjectPart part = GetSceneObjectPart(localID); 842 SceneObjectPart part = GetSceneObjectPart(localID);
843 SceneObjectGroup group = part.ParentGroup; 843 SceneObjectGroup group = null;
844 if (group != null) 844 if (part != null)
845 {
846 group = part.ParentGroup;
847 }
848 if (part != null && group != null)
845 { 849 {
846 TaskInventoryItem item = group.GetInventoryItem(localID, itemID); 850 TaskInventoryItem item = group.GetInventoryItem(localID, itemID);
847 if (item == null) 851 if (item == null)