diff options
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs index bd9e621..100b55c 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs | |||
@@ -271,8 +271,17 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments | |||
271 | if (AttachmentPt != 0 && AttachmentPt != objatt.GetAttachmentPoint()) | 271 | if (AttachmentPt != 0 && AttachmentPt != objatt.GetAttachmentPoint()) |
272 | tainted = true; | 272 | tainted = true; |
273 | 273 | ||
274 | AttachObject(remoteClient, objatt, AttachmentPt, false); | 274 | // This will throw if the attachment fails |
275 | //objatt.ScheduleGroupForFullUpdate(); | 275 | try |
276 | { | ||
277 | AttachObject(remoteClient, objatt, AttachmentPt, false); | ||
278 | } | ||
279 | catch | ||
280 | { | ||
281 | // Make sure the object doesn't stick around and bail | ||
282 | m_scene.DeleteSceneObject(objatt, false); | ||
283 | return null; | ||
284 | } | ||
276 | 285 | ||
277 | if (tainted) | 286 | if (tainted) |
278 | objatt.HasGroupChanged = true; | 287 | objatt.HasGroupChanged = true; |
@@ -616,4 +625,4 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments | |||
616 | so.HasGroupChanged = false; | 625 | so.HasGroupChanged = false; |
617 | } | 626 | } |
618 | } | 627 | } |
619 | } \ No newline at end of file | 628 | } |