From ff429a259b41f1205a6b153bb6da383d9a9f5daf Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 23 May 2012 01:58:10 +0100
Subject: Fix bug where an avatar that had an object they owned attached
through llAttachToAvatar() or osForceAttachToAvatar() would wrongly have next
permissions come into play when they detached that object and rezzed it in
scene.
This is because the attachments module code was setting the 'object slam' bit by using PermissionMask.All
Solution here is to route the attachment item creation call through the existing inventory code in BasicInventoryAccessModule rather than copy/pasted code in AttachmentsModule itself.
---
.../Serialization/CoalescedSceneObjectsSerializer.cs | 20 ++++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs')
diff --git a/OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs b/OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs
index 55455cc..a4f730d 100644
--- a/OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs
+++ b/OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs
@@ -47,14 +47,30 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
///
public class CoalescedSceneObjectsSerializer
{
- private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
+ private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
///
/// Serialize coalesced objects to Xml
///
///
+ ///
+ /// If true then serialize script states. This will halt any running scripts
+ ///
///
public static string ToXml(CoalescedSceneObjects coa)
+ {
+ return ToXml(coa, true);
+ }
+
+ ///
+ /// Serialize coalesced objects to Xml
+ ///
+ ///
+ ///
+ /// If true then serialize script states. This will halt any running scripts
+ ///
+ ///
+ public static string ToXml(CoalescedSceneObjects coa, bool doScriptStates)
{
using (StringWriter sw = new StringWriter())
{
@@ -91,7 +107,7 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
writer.WriteAttributeString("offsety", offsets[i].Y.ToString());
writer.WriteAttributeString("offsetz", offsets[i].Z.ToString());
- SceneObjectSerializer.ToOriginalXmlFormat(obj, writer, true);
+ SceneObjectSerializer.ToOriginalXmlFormat(obj, writer, doScriptStates);
writer.WriteEndElement(); // SceneObjectGroup
}
--
cgit v1.1