aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Services/Interfaces
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2011-09-06 01:59:21 +0100
committerJustin Clark-Casey (justincc)2011-09-06 01:59:21 +0100
commitb903d2ca963d5f68803a1cabbd033f89ab72634a (patch)
treee353ffa7e3de076022a024c394c698db906d94d5 /OpenSim/Services/Interfaces
parentGet rid of the confusing version of IAttachmentsModule.RezSingleAttachmentFro... (diff)
downloadopensim-SC-b903d2ca963d5f68803a1cabbd033f89ab72634a.zip
opensim-SC-b903d2ca963d5f68803a1cabbd033f89ab72634a.tar.gz
opensim-SC-b903d2ca963d5f68803a1cabbd033f89ab72634a.tar.bz2
opensim-SC-b903d2ca963d5f68803a1cabbd033f89ab72634a.tar.xz
In SetAttachment, if the existing attachment has no asset id then carry on rather than abort.
When a user logs in, the attachment item ids are pulled from persistence in the Avatars table. However, the asset ids are not saved. When the avatar enters a simulator the attachments are set again. If we simply perform an item check then the asset ids (which are now present) are never set, and NPC attachments later fail unless the attachment is detached and reattached. Hopefully resolves part of http://opensimulator.org/mantis/view.php?id=5653
Diffstat (limited to 'OpenSim/Services/Interfaces')
-rw-r--r--OpenSim/Services/Interfaces/IAvatarService.cs4
1 files changed, 1 insertions, 3 deletions
diff --git a/OpenSim/Services/Interfaces/IAvatarService.cs b/OpenSim/Services/Interfaces/IAvatarService.cs
index 0d5ab7d..cda7113 100644
--- a/OpenSim/Services/Interfaces/IAvatarService.cs
+++ b/OpenSim/Services/Interfaces/IAvatarService.cs
@@ -262,7 +262,6 @@ namespace OpenSim.Services.Interfaces
262 UUID.Parse(Data["SkirtItem"]), 262 UUID.Parse(Data["SkirtItem"]),
263 UUID.Parse(Data["SkirtAsset"])); 263 UUID.Parse(Data["SkirtAsset"]));
264 264
265
266 if (Data.ContainsKey("VisualParams")) 265 if (Data.ContainsKey("VisualParams"))
267 { 266 {
268 string[] vps = Data["VisualParams"].Split(new char[] {','}); 267 string[] vps = Data["VisualParams"].Split(new char[] {','});
@@ -291,7 +290,6 @@ namespace OpenSim.Services.Interfaces
291 } 290 }
292 } 291 }
293 292
294
295 // Attachments 293 // Attachments
296 Dictionary<string, string> attchs = new Dictionary<string, string>(); 294 Dictionary<string, string> attchs = new Dictionary<string, string>();
297 foreach (KeyValuePair<string, string> _kvp in Data) 295 foreach (KeyValuePair<string, string> _kvp in Data)
@@ -308,7 +306,7 @@ namespace OpenSim.Services.Interfaces
308 UUID uuid = UUID.Zero; 306 UUID uuid = UUID.Zero;
309 UUID.TryParse(_kvp.Value, out uuid); 307 UUID.TryParse(_kvp.Value, out uuid);
310 308
311 appearance.SetAttachment(point,uuid,UUID.Zero); 309 appearance.SetAttachment(point, uuid, UUID.Zero);
312 } 310 }
313 311
314 if (appearance.Wearables[AvatarWearable.BODY].Count == 0) 312 if (appearance.Wearables[AvatarWearable.BODY].Count == 0)