diff options
author | Justin Clark-Casey (justincc) | 2012-06-25 22:48:13 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2012-06-25 22:48:13 +0100 |
commit | e5b739aaebace6b028f3f6bf05d21ff7a7c5affe (patch) | |
tree | f76c578681da34fddb0c36eeada8af57eaf0bbc4 /OpenSim/Region/Framework/Interfaces | |
parent | In AttachmentsModule.DetachSingleAttachmentToInvInternal(), remove attachment... (diff) | |
download | opensim-SC-e5b739aaebace6b028f3f6bf05d21ff7a7c5affe.zip opensim-SC-e5b739aaebace6b028f3f6bf05d21ff7a7c5affe.tar.gz opensim-SC-e5b739aaebace6b028f3f6bf05d21ff7a7c5affe.tar.bz2 opensim-SC-e5b739aaebace6b028f3f6bf05d21ff7a7c5affe.tar.xz |
When attachments are being saved and deleted for a closing root agent, delete first to avoid a hud race condition with update threads.
If delete doesn't occur first then the update thread can outrace the IsAttachment = false necessary to save attachments and send hud artifacts to other viewers.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs b/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs index eb07165..fde5de1 100644 --- a/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs | |||
@@ -43,10 +43,15 @@ namespace OpenSim.Region.Framework.Interfaces | |||
43 | void RezAttachments(IScenePresence sp); | 43 | void RezAttachments(IScenePresence sp); |
44 | 44 | ||
45 | /// <summary> | 45 | /// <summary> |
46 | /// Save the attachments that have change on this presence. | 46 | /// Derez the attachements for a scene presence that is closing. |
47 | /// </summary> | 47 | /// </summary> |
48 | /// <param name="sp"></param> | 48 | /// <remarks> |
49 | void SaveChangedAttachments(IScenePresence sp, bool saveAllScripted); | 49 | /// Attachment changes are saved. |
50 | /// </remarks> | ||
51 | /// <param name="sp">The presence closing</param> | ||
52 | /// <param name="saveChanged">Save changed attachments.</param> | ||
53 | /// <param name="saveAllScripted">Save attachments with scripts even if they haven't changed.</para> | ||
54 | void DeRezAttachments(IScenePresence sp, bool saveChanged, bool saveAllScripted); | ||
50 | 55 | ||
51 | /// <summary> | 56 | /// <summary> |
52 | /// Delete all the presence's attachments from the scene | 57 | /// Delete all the presence's attachments from the scene |