diff options
author | Justin Clark-Casey (justincc) | 2011-09-06 01:59:21 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2011-09-06 01:59:21 +0100 |
commit | b903d2ca963d5f68803a1cabbd033f89ab72634a (patch) | |
tree | e353ffa7e3de076022a024c394c698db906d94d5 /OpenSim/Services/Interfaces | |
parent | Get rid of the confusing version of IAttachmentsModule.RezSingleAttachmentFro... (diff) | |
download | opensim-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.cs | 4 |
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) |