aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.Inventory.cs11
-rw-r--r--OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs22
2 files changed, 24 insertions, 9 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
index 5c8b097..a6db4de 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
@@ -407,16 +407,16 @@ namespace OpenSim.Region.Framework.Scenes
407 if (item.Owner != remoteClient.AgentId) 407 if (item.Owner != remoteClient.AgentId)
408 return; 408 return;
409 409
410 if (UUID.Zero == transactionID) 410 item.Name = itemUpd.Name;
411 { 411 item.Description = itemUpd.Description;
412 item.Name = itemUpd.Name;
413 item.Description = itemUpd.Description;
414 412
415// m_log.DebugFormat( 413// m_log.DebugFormat(
416// "[USER INVENTORY]: itemUpd {0} {1} {2} {3}, item {4} {5} {6} {7}", 414// "[USER INVENTORY]: itemUpd {0} {1} {2} {3}, item {4} {5} {6} {7}",
417// itemUpd.NextPermissions, itemUpd.GroupPermissions, itemUpd.EveryOnePermissions, item.Flags, 415// itemUpd.NextPermissions, itemUpd.GroupPermissions, itemUpd.EveryOnePermissions, item.Flags,
418// item.NextPermissions, item.GroupPermissions, item.EveryOnePermissions, item.CurrentPermissions); 416// item.NextPermissions, item.GroupPermissions, item.EveryOnePermissions, item.CurrentPermissions);
419 417
418 if (itemUpd.NextPermissions != 0) // Use this to determine validity. Can never be 0 if valid
419 {
420 if (item.NextPermissions != (itemUpd.NextPermissions & item.BasePermissions)) 420 if (item.NextPermissions != (itemUpd.NextPermissions & item.BasePermissions))
421 item.Flags |= (uint)InventoryItemFlags.ObjectOverwriteNextOwner; 421 item.Flags |= (uint)InventoryItemFlags.ObjectOverwriteNextOwner;
422 item.NextPermissions = itemUpd.NextPermissions & item.BasePermissions; 422 item.NextPermissions = itemUpd.NextPermissions & item.BasePermissions;
@@ -451,7 +451,8 @@ namespace OpenSim.Region.Framework.Scenes
451 451
452 InventoryService.UpdateItem(item); 452 InventoryService.UpdateItem(item);
453 } 453 }
454 else 454
455 if (UUID.Zero != transactionID)
455 { 456 {
456 if (AgentTransactionsModule != null) 457 if (AgentTransactionsModule != null)
457 { 458 {
diff --git a/OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs b/OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs
index a4f730d..5cb271d 100644
--- a/OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs
+++ b/OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs
@@ -42,9 +42,6 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
42 /// <summary> 42 /// <summary>
43 /// Serialize and deserialize coalesced scene objects. 43 /// Serialize and deserialize coalesced scene objects.
44 /// </summary> 44 /// </summary>
45 /// <remarks>
46 /// Deserialization not yet here.
47 /// </remarks>
48 public class CoalescedSceneObjectsSerializer 45 public class CoalescedSceneObjectsSerializer
49 { 46 {
50 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 47 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
@@ -128,6 +125,7 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
128// m_log.DebugFormat("[COALESCED SCENE OBJECTS SERIALIZER]: TryFromXml() deserializing {0}", xml); 125// m_log.DebugFormat("[COALESCED SCENE OBJECTS SERIALIZER]: TryFromXml() deserializing {0}", xml);
129 126
130 coa = null; 127 coa = null;
128 int i = 0;
131 129
132 using (StringReader sr = new StringReader(xml)) 130 using (StringReader sr = new StringReader(xml))
133 { 131 {
@@ -153,7 +151,23 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
153 if (reader.Name == "SceneObjectGroup") 151 if (reader.Name == "SceneObjectGroup")
154 { 152 {
155 string soXml = reader.ReadOuterXml(); 153 string soXml = reader.ReadOuterXml();
156 coa.Add(SceneObjectSerializer.FromOriginalXmlFormat(soXml)); 154
155 SceneObjectGroup so = SceneObjectSerializer.FromOriginalXmlFormat(soXml);
156
157 if (so != null)
158 {
159 coa.Add(so);
160 }
161 else
162 {
163 // XXX: Possibly we should fail outright here rather than continuing if a particular component of the
164 // coalesced object fails to load.
165 m_log.WarnFormat(
166 "[COALESCED SCENE OBJECTS SERIALIZER]: Deserialization of xml for component {0} failed. Continuing.",
167 i);
168 }
169
170 i++;
157 } 171 }
158 } 172 }
159 173