aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2012-06-14 02:26:38 +0100
committerJustin Clark-Casey (justincc)2012-06-14 02:26:38 +0100
commit3c3ea196201b56407ccf6c21229064f7954c716d (patch)
tree3784c4e82497024bc50e1726b02ccfb6d893582f /OpenSim/Region
parentMerge branch 'master' of ssh://opensimulator.org/var/git/opensim (diff)
downloadopensim-SC_OLD-3c3ea196201b56407ccf6c21229064f7954c716d.zip
opensim-SC_OLD-3c3ea196201b56407ccf6c21229064f7954c716d.tar.gz
opensim-SC_OLD-3c3ea196201b56407ccf6c21229064f7954c716d.tar.bz2
opensim-SC_OLD-3c3ea196201b56407ccf6c21229064f7954c716d.tar.xz
Fix a bug where scene objects attached as HUDs through scripts would not disappear for other avatars.
We do this by sending a kill message for that object to all other avatars apart from the one that has the hud.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs13
1 files changed, 13 insertions, 0 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
index 88071f6..d47b1ab 100644
--- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
@@ -562,6 +562,19 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
562 { 562 {
563 m_scene.SendKillObject(new List<uint> { so.RootPart.LocalId }); 563 m_scene.SendKillObject(new List<uint> { so.RootPart.LocalId });
564 } 564 }
565 else if (so.HasPrivateAttachmentPoint)
566 {
567// m_log.DebugFormat(
568// "[ATTACHMENTS MODULE]: Killing private HUD {0} for avatars other than {1} at attachment point {2}",
569// so.Name, sp.Name, so.AttachmentPoint);
570
571 // Remove the client from everyone in the
572 m_scene.ForEachClient(
573 client =>
574 { if (client.AgentId != so.AttachedAvatar)
575 client.SendKillObject(m_scene.RegionInfo.RegionHandle, new List<uint>() { so.LocalId });
576 });
577 }
565 578
566 so.IsSelected = false; // fudge.... 579 so.IsSelected = false; // fudge....
567 so.ScheduleGroupForFullUpdate(); 580 so.ScheduleGroupForFullUpdate();