[Appearance/Misc]

- fixed : attachments that attach and then instantly detach don't have their COF link removed

--HG--
branch : Appearance-Misc
meow-7.2.2
Kitty Barnett 2010-09-18 08:56:08 +02:00
parent 410541f04e
commit 61baa570fb
3 changed files with 20 additions and 9 deletions

View File

@ -10,4 +10,5 @@
-> maps secondary attachment point range [39,68] onto [1,30]
-> only dislays "secondary attachment points" correctly for *other* avatars (by design)
- fixed : Add to/Replace Outfit removes newly worn attachments on completion
- fixed : LLWearableBridge::removeAllClothesFromAvatar() doesn't remove all clothing from the avatar
- fixed : LLWearableBridge::removeAllClothesFromAvatar() doesn't remove all clothing from the avatar
- fixed : attachments that attach and then instantly detach don't have their COF link removed

View File

@ -2816,6 +2816,22 @@ void LLAppearanceMgr::unregisterAttachment(const LLUUID& item_id)
}
}
// [SL:KB] - Patch: Appearance-SyncAttach | Checked: 2010-09-18 (Catznip-2.1.2e) | Modified: Catznip-2.1.2e
void LLAppearanceMgr::onRegisterAttachmentComplete(const LLUUID& idItem)
{
const LLUUID& idItemBase = gInventory.getLinkedItemID(idItem);
// Remove the attachment from the pending list
uuid_vec_t::iterator itPendingObjLink = std::find(mPendingObjLinks.begin(), mPendingObjLinks.end(), idItemBase);
if (itPendingObjLink != mPendingObjLinks.end())
mPendingObjLinks.erase(itPendingObjLink);
// It may have been detached already in which case we should remove the COF link
if ( (isAgentAvatarValid()) && (!gAgentAvatarp->isWearingAttachment(idItemBase)) )
removeCOFItemLinks(idItem, false);
}
// [/SL:KB]
BOOL LLAppearanceMgr::getIsInCOF(const LLUUID& obj_id) const
{
return gInventory.isObjectDescendentOf(obj_id, getCOF());

View File

@ -217,15 +217,9 @@ private:
std::auto_ptr<LLOutfitUnLockTimer> mUnlockOutfitTimer;
// [SL:KB] - Patch: Appearance-SyncAttach | Checked: 2010-08-31 (Catznip-2.1.2a) | Added: Catznip-2.1.2a
// [SL:KB] - Patch: Appearance-SyncAttach | Checked: 2010-09-18 (Catznip-2.1.2e) | Modified: Catznip-2.1.2e
public:
void onRegisterAttachmentComplete(const LLUUID& idItem)
{
const LLUUID& idItemBase = gInventory.getLinkedItemID(idItem);
uuid_vec_t::iterator itPendingObjLink = std::find(mPendingObjLinks.begin(), mPendingObjLinks.end(), idItemBase);
if (itPendingObjLink != mPendingObjLinks.end())
mPendingObjLinks.erase(itPendingObjLink);
}
void onRegisterAttachmentComplete(const LLUUID& idItem);
private:
uuid_vec_t mPendingObjLinks;
// [/SL:KB]