From 32d64567e4f307a211417a2ada154e8c2aa8e415 Mon Sep 17 00:00:00 2001 From: Kitty Barnett Date: Sat, 28 Aug 2010 19:45:51 +0200 Subject: [PATCH 1/5] [Appearance/MixedViewers] --HG-- branch : Appearance-MixedViewers --- .hgpatchinfo/Appearance-MixedViewers.dep | 1 + 1 file changed, 1 insertion(+) create mode 100644 .hgpatchinfo/Appearance-MixedViewers.dep diff --git a/.hgpatchinfo/Appearance-MixedViewers.dep b/.hgpatchinfo/Appearance-MixedViewers.dep new file mode 100644 index 0000000000..1b77f49183 --- /dev/null +++ b/.hgpatchinfo/Appearance-MixedViewers.dep @@ -0,0 +1 @@ +e7794a7b9728b07b5d3e1796dd578777396b21f4 \ No newline at end of file From a24668392ebbc7320b70928f51429eb4ad8437d0 Mon Sep 17 00:00:00 2001 From: Kitty Barnett Date: Sat, 28 Aug 2010 19:52:16 +0200 Subject: [PATCH 2/5] [Appearance/MixedViewers] - fixed : "Worn items in Viewer 2 and Viewer 1.x aren't synchronized" (http://jira.secondlife.com/browse/VWR-17594) -> current fix compares *only* the wearables in COF with the wearables specified by AgentWearablesUpdate - fixed : minor memory leak in LLInitialWearablesFetch::processWearablesMessage() --HG-- branch : Appearance-MixedViewers --- .hgpatchinfo/Appearance-MixedViewers.desc | 4 ++ indra/newview/llagentwearablesfetch.cpp | 72 +++++++++++++++++++++-- indra/newview/llappearancemgr.cpp | 15 +++++ indra/newview/llappearancemgr.h | 3 + 4 files changed, 90 insertions(+), 4 deletions(-) create mode 100644 .hgpatchinfo/Appearance-MixedViewers.desc diff --git a/.hgpatchinfo/Appearance-MixedViewers.desc b/.hgpatchinfo/Appearance-MixedViewers.desc new file mode 100644 index 0000000000..be6e017a7d --- /dev/null +++ b/.hgpatchinfo/Appearance-MixedViewers.desc @@ -0,0 +1,4 @@ +[Appearance/MixedViewers] +- fixed : "Worn items in Viewer 2 and Viewer 1.x aren't synchronized" (http://jira.secondlife.com/browse/VWR-17594) + -> current fix compares *only* the wearables in COF with the wearables specified by AgentWearablesUpdate +- fixed : minor memory leak in LLInitialWearablesFetch::processWearablesMessage() diff --git a/indra/newview/llagentwearablesfetch.cpp b/indra/newview/llagentwearablesfetch.cpp index f7ae320a6f..73aecdffe1 100644 --- a/indra/newview/llagentwearablesfetch.cpp +++ b/indra/newview/llagentwearablesfetch.cpp @@ -118,8 +118,42 @@ void LLInitialWearablesFetch::processContents() gInventory.collectDescendentsIf(mComplete.front(), cat_array, wearable_array, LLInventoryModel::EXCLUDE_TRASH, is_wearable); +// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-05-18 (Catznip-2.1.2a) | Modified: Catznip-2.0.0h + // NOTE: don't use the current COF contents if 'wearable_array' is empty (ie first logon with 2.0 or some other problem) + bool fUpdateFromCOF = !wearable_array.empty(); + if (fUpdateFromCOF) + { + LLAppearanceMgr::wearables_by_type_t items_by_type(LLWearableType::WT_COUNT); + LLAppearanceMgr::sortItemsByActualDescription(wearable_array); + LLAppearanceMgr::divvyWearablesByType(wearable_array, items_by_type); + + // Compare the COF wearables against the initial wearables + for (initial_wearable_data_vec_t::const_iterator itWearableData = mAgentInitialWearables.begin(); + (itWearableData != mAgentInitialWearables.end()) && (fUpdateFromCOF); ++itWearableData) + { + const LLUUID& idItem = itWearableData->mItemID; bool fFound = false; + + // TODO-Catznip: [SL-2.1.0] Bit of a hack until LL supports changing the descriptions of links + for (S32 idxItem = 0, cntItem = items_by_type[itWearableData->mType].size(); idxItem < cntItem; idxItem++) + { + const LLViewerInventoryItem* pCOFItem = items_by_type[itWearableData->mType].get(idxItem); + if (idItem == pCOFItem->getLinkedUUID()) + { + fFound = true; + break; + } + } + if (!fFound) + fUpdateFromCOF = false; + } + } +// [/SL:KB] + LLAppearanceMgr::instance().setAttachmentInvLinkEnable(true); - if (wearable_array.count() > 0) +// if (wearable_array.count() > 0) +// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-04-28 (Catznip-2.1.2a) | Modified: Catznip-2.0.0e + if (fUpdateFromCOF) +// [/SL:KB] { gAgentWearables.notifyLoadingStarted(); LLAppearanceMgr::instance().updateAppearanceFromCOF(); @@ -146,7 +180,7 @@ public: virtual void done() { gInventory.removeObserver(this); - +/* // Link to all fetched items in COF. LLPointer link_waiter = new LLUpdateAppearanceOnDestroy; for (uuid_vec_t::iterator it = mIDs.begin(); @@ -169,7 +203,33 @@ public: LLAssetType::AT_LINK, link_waiter); } +*/ +// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-08-14 (Catznip-2.1.2a) | Added: Catznip-2.1.1d + doOnIdleOneTime(boost::bind(&LLFetchAndLinkObserver::doneIdle, this)); +// [/SL:KB] } + +// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-04-02 (Catznip-2.1.2a) | Added: Catznip-2.0.0a + void doneIdle() + { + // NOTE: the code above makes the assumption that COF is empty which won't be the case the way it's used now + LLInventoryModel::item_array_t initial_items; + for (uuid_vec_t::iterator itItem = mIDs.begin(); itItem != mIDs.end(); ++itItem) + { + LLViewerInventoryItem* pItem = gInventory.getItem(*itItem); + if (!pItem) + { + llwarns << "fetch failed!" << llendl; + continue; + } + initial_items.push_back(pItem); + } + + LLAppearanceMgr::instance().updateAppearanceFromInitialWearables(initial_items); + + delete this; + } +// [/SL:KB] }; void LLInitialWearablesFetch::processWearablesMessage() @@ -181,7 +241,11 @@ void LLInitialWearablesFetch::processWearablesMessage() for (U8 i = 0; i < mAgentInitialWearables.size(); ++i) { // Populate the current outfit folder with links to the wearables passed in the message - InitialWearableData *wearable_data = new InitialWearableData(mAgentInitialWearables[i]); // This will be deleted in the callback. +// InitialWearableData *wearable_data = new InitialWearableData(mAgentInitialWearables[i]); // This will be deleted in the callback. +// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-05-02 (Catznip-2.1.2a) | Added: Catznip-2.0.0f + // Fixes minor leak: since COF is used onInitialWearableAssetArrived() will never get called and "wearable_data" leaks + InitialWearableData* wearable_data = &mAgentInitialWearables[i]; +// [/SL:KB] if (wearable_data->mAssetID.notNull()) { @@ -191,7 +255,7 @@ void LLInitialWearablesFetch::processWearablesMessage() { llinfos << "Invalid wearable, type " << wearable_data->mType << " itemID " << wearable_data->mItemID << " assetID " << wearable_data->mAssetID << llendl; - delete wearable_data; +// delete wearable_data; } } diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index 94286fd799..413428a892 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -1773,6 +1773,21 @@ void LLAppearanceMgr::updateAppearanceFromCOF(bool update_base_outfit_ordering) } } +// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-04-02 (Catznip-2.1.2a) | Added: Catznip-2.0.0a +void LLAppearanceMgr::updateAppearanceFromInitialWearables(LLInventoryModel::item_array_t& initial_items) +{ + const LLUUID& idCOF = getCOF(); + + // Remove current COF contents + purgeCategory(idCOF, false); + gInventory.notifyObservers(); + + // Create links to new COF contents + LLPointer link_waiter = new LLUpdateAppearanceOnDestroy; + linkAll(idCOF, initial_items, link_waiter); +} +// [/SL:KB] + void LLAppearanceMgr::getDescendentsOfAssetType(const LLUUID& category, LLInventoryModel::item_array_t& items, LLAssetType::EType type, diff --git a/indra/newview/llappearancemgr.h b/indra/newview/llappearancemgr.h index 78c2142ea5..d5180990bf 100644 --- a/indra/newview/llappearancemgr.h +++ b/indra/newview/llappearancemgr.h @@ -49,6 +49,9 @@ public: typedef std::vector wearables_by_type_t; void updateAppearanceFromCOF(bool update_base_outfit_ordering = false); +// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-04-02 (Catznip-2.1.2a) | Added: Catznip-2.0.0a + void updateAppearanceFromInitialWearables(LLInventoryModel::item_array_t& initial_items); +// [/SL:KB] bool needToSaveCOF(); void updateCOF(const LLUUID& category, bool append = false); void wearInventoryCategory(LLInventoryCategory* category, bool copy, bool append); From a0f8962f26d4fd32313cc048212e69e8c68e82be Mon Sep 17 00:00:00 2001 From: Kitty Barnett Date: Wed, 22 Sep 2010 19:36:41 +0200 Subject: [PATCH 3/5] [Appearance/MixedViewers] - review : reviewed for SL-2.2.0 --HG-- branch : Appearance-MixedViewers --- indra/newview/llagentwearablesfetch.cpp | 12 ++++++------ indra/newview/llappearancemgr.cpp | 4 ++-- indra/newview/llappearancemgr.h | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/indra/newview/llagentwearablesfetch.cpp b/indra/newview/llagentwearablesfetch.cpp index 2bc18e0857..2dc9b9d796 100644 --- a/indra/newview/llagentwearablesfetch.cpp +++ b/indra/newview/llagentwearablesfetch.cpp @@ -119,7 +119,7 @@ void LLInitialWearablesFetch::processContents() gInventory.collectDescendentsIf(mComplete.front(), cat_array, wearable_array, LLInventoryModel::EXCLUDE_TRASH, is_wearable); -// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-05-18 (Catznip-2.1.2a) | Modified: Catznip-2.0.0h +// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-05-18 (Catznip-2.2.0a) | Modified: Catznip-2.0.0h // NOTE: don't use the current COF contents if 'wearable_array' is empty (ie first logon with 2.0 or some other problem) bool fUpdateFromCOF = !wearable_array.empty(); if (fUpdateFromCOF) @@ -134,7 +134,7 @@ void LLInitialWearablesFetch::processContents() { const LLUUID& idItem = itWearableData->mItemID; bool fFound = false; - // TODO-Catznip: [SL-2.1.0] Bit of a hack until LL supports changing the descriptions of links + // TODO-Catznip: [SL-2.2.0] Bit of a hack until LL supports changing the descriptions of links for (S32 idxItem = 0, cntItem = items_by_type[itWearableData->mType].size(); idxItem < cntItem; idxItem++) { const LLViewerInventoryItem* pCOFItem = items_by_type[itWearableData->mType].get(idxItem); @@ -152,7 +152,7 @@ void LLInitialWearablesFetch::processContents() LLAppearanceMgr::instance().setAttachmentInvLinkEnable(true); // if (wearable_array.count() > 0) -// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-04-28 (Catznip-2.1.2a) | Modified: Catznip-2.0.0e +// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-04-28 (Catznip-2.2.0a) | Modified: Catznip-2.0.0e if (fUpdateFromCOF) // [/SL:KB] { @@ -205,12 +205,12 @@ public: link_waiter); } */ -// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-08-14 (Catznip-2.1.2a) | Added: Catznip-2.1.1d +// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-08-14 (Catznip-2.2.0a) | Added: Catznip-2.1.1d doOnIdleOneTime(boost::bind(&LLFetchAndLinkObserver::doneIdle, this)); // [/SL:KB] } -// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-04-02 (Catznip-2.1.2a) | Added: Catznip-2.0.0a +// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-04-02 (Catznip-2.2.0a) | Added: Catznip-2.0.0a void doneIdle() { // NOTE: the code above makes the assumption that COF is empty which won't be the case the way it's used now @@ -243,7 +243,7 @@ void LLInitialWearablesFetch::processWearablesMessage() { // Populate the current outfit folder with links to the wearables passed in the message // InitialWearableData *wearable_data = new InitialWearableData(mAgentInitialWearables[i]); // This will be deleted in the callback. -// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-05-02 (Catznip-2.1.2a) | Added: Catznip-2.0.0f +// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-05-02 (Catznip-2.2.0a) | Added: Catznip-2.0.0f // Fixes minor leak: since COF is used onInitialWearableAssetArrived() will never get called and "wearable_data" leaks InitialWearableData* wearable_data = &mAgentInitialWearables[i]; // [/SL:KB] diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index 3c6c8970ba..6ae014efee 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -1774,7 +1774,7 @@ void LLAppearanceMgr::updateAppearanceFromCOF(bool update_base_outfit_ordering) } } -// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-04-02 (Catznip-2.1.2a) | Added: Catznip-2.0.0a +// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-04-02 (Catznip-2.2.0a) | Added: Catznip-2.0.0a void LLAppearanceMgr::updateAppearanceFromInitialWearables(LLInventoryModel::item_array_t& initial_items) { const LLUUID& idCOF = getCOF(); @@ -1784,7 +1784,7 @@ void LLAppearanceMgr::updateAppearanceFromInitialWearables(LLInventoryModel::ite gInventory.notifyObservers(); // Create links to new COF contents - LLPointer link_waiter = new LLUpdateAppearanceOnDestroy; + LLPointer link_waiter = new LLUpdateAppearanceOnDestroy(); linkAll(idCOF, initial_items, link_waiter); } // [/SL:KB] diff --git a/indra/newview/llappearancemgr.h b/indra/newview/llappearancemgr.h index 99e7c56de7..1c43c51bdf 100644 --- a/indra/newview/llappearancemgr.h +++ b/indra/newview/llappearancemgr.h @@ -51,7 +51,7 @@ public: typedef std::vector wearables_by_type_t; void updateAppearanceFromCOF(bool update_base_outfit_ordering = false); -// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-04-02 (Catznip-2.1.2a) | Added: Catznip-2.0.0a +// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-04-02 (Catznip-2.2.0a) | Added: Catznip-2.0.0a void updateAppearanceFromInitialWearables(LLInventoryModel::item_array_t& initial_items); // [/SL:KB] bool needToSaveCOF(); From 53446a6c7bc4556b137ee06e3c04e6a3efcf4876 Mon Sep 17 00:00:00 2001 From: Kitty Barnett Date: Thu, 13 Jan 2011 16:26:40 +0100 Subject: [PATCH 4/5] - internal : reviewed for SL-2.5.0 --HG-- branch : Appearance-MixedViewers --- indra/newview/llagentwearablesfetch.cpp | 10 +++++----- indra/newview/llappearancemgr.cpp | 2 +- indra/newview/llappearancemgr.h | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/indra/newview/llagentwearablesfetch.cpp b/indra/newview/llagentwearablesfetch.cpp index 2dc9b9d796..540d6d5eb1 100644 --- a/indra/newview/llagentwearablesfetch.cpp +++ b/indra/newview/llagentwearablesfetch.cpp @@ -119,7 +119,7 @@ void LLInitialWearablesFetch::processContents() gInventory.collectDescendentsIf(mComplete.front(), cat_array, wearable_array, LLInventoryModel::EXCLUDE_TRASH, is_wearable); -// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-05-18 (Catznip-2.2.0a) | Modified: Catznip-2.0.0h +// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-05-18 (Catznip-2.5.0a) | Modified: Catznip-2.0.0h // NOTE: don't use the current COF contents if 'wearable_array' is empty (ie first logon with 2.0 or some other problem) bool fUpdateFromCOF = !wearable_array.empty(); if (fUpdateFromCOF) @@ -152,7 +152,7 @@ void LLInitialWearablesFetch::processContents() LLAppearanceMgr::instance().setAttachmentInvLinkEnable(true); // if (wearable_array.count() > 0) -// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-04-28 (Catznip-2.2.0a) | Modified: Catznip-2.0.0e +// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-04-28 (Catznip-2.5.0a) | Modified: Catznip-2.0.0e if (fUpdateFromCOF) // [/SL:KB] { @@ -205,12 +205,12 @@ public: link_waiter); } */ -// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-08-14 (Catznip-2.2.0a) | Added: Catznip-2.1.1d +// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-08-14 (Catznip-2.5.0a) | Added: Catznip-2.1.1d doOnIdleOneTime(boost::bind(&LLFetchAndLinkObserver::doneIdle, this)); // [/SL:KB] } -// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-04-02 (Catznip-2.2.0a) | Added: Catznip-2.0.0a +// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-04-02 (Catznip-2.5.0a) | Added: Catznip-2.0.0a void doneIdle() { // NOTE: the code above makes the assumption that COF is empty which won't be the case the way it's used now @@ -243,7 +243,7 @@ void LLInitialWearablesFetch::processWearablesMessage() { // Populate the current outfit folder with links to the wearables passed in the message // InitialWearableData *wearable_data = new InitialWearableData(mAgentInitialWearables[i]); // This will be deleted in the callback. -// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-05-02 (Catznip-2.2.0a) | Added: Catznip-2.0.0f +// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-05-02 (Catznip-2.5.0a) | Added: Catznip-2.0.0f // Fixes minor leak: since COF is used onInitialWearableAssetArrived() will never get called and "wearable_data" leaks InitialWearableData* wearable_data = &mAgentInitialWearables[i]; // [/SL:KB] diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index f705496d8c..890fe6167f 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -1774,7 +1774,7 @@ void LLAppearanceMgr::updateAppearanceFromCOF(bool update_base_outfit_ordering) } } -// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-04-02 (Catznip-2.2.0a) | Added: Catznip-2.0.0a +// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-04-02 (Catznip-2.5.0a) | Added: Catznip-2.0.0a void LLAppearanceMgr::updateAppearanceFromInitialWearables(LLInventoryModel::item_array_t& initial_items) { const LLUUID& idCOF = getCOF(); diff --git a/indra/newview/llappearancemgr.h b/indra/newview/llappearancemgr.h index 1c43c51bdf..9332286e12 100644 --- a/indra/newview/llappearancemgr.h +++ b/indra/newview/llappearancemgr.h @@ -51,7 +51,7 @@ public: typedef std::vector wearables_by_type_t; void updateAppearanceFromCOF(bool update_base_outfit_ordering = false); -// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-04-02 (Catznip-2.2.0a) | Added: Catznip-2.0.0a +// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-04-02 (Catznip-2.5.0a) | Added: Catznip-2.0.0a void updateAppearanceFromInitialWearables(LLInventoryModel::item_array_t& initial_items); // [/SL:KB] bool needToSaveCOF(); From ac47040f86faf7aafe4e3edf4a19e9ebf5d4ee3a Mon Sep 17 00:00:00 2001 From: Kitty Barnett Date: Thu, 14 Apr 2011 19:13:11 +0200 Subject: [PATCH 5/5] - internal : reviewed for SL-2.6.0 --HG-- branch : Appearance-MixedViewers --- indra/newview/llagentwearablesfetch.cpp | 12 +++++------- indra/newview/llappearancemgr.cpp | 2 +- indra/newview/llappearancemgr.h | 2 +- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/indra/newview/llagentwearablesfetch.cpp b/indra/newview/llagentwearablesfetch.cpp index 540d6d5eb1..d9d1704c7d 100644 --- a/indra/newview/llagentwearablesfetch.cpp +++ b/indra/newview/llagentwearablesfetch.cpp @@ -119,7 +119,7 @@ void LLInitialWearablesFetch::processContents() gInventory.collectDescendentsIf(mComplete.front(), cat_array, wearable_array, LLInventoryModel::EXCLUDE_TRASH, is_wearable); -// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-05-18 (Catznip-2.5.0a) | Modified: Catznip-2.0.0h +// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-05-18 (Catznip-2.6.0a) | Modified: Catznip-2.0.0h // NOTE: don't use the current COF contents if 'wearable_array' is empty (ie first logon with 2.0 or some other problem) bool fUpdateFromCOF = !wearable_array.empty(); if (fUpdateFromCOF) @@ -133,8 +133,6 @@ void LLInitialWearablesFetch::processContents() (itWearableData != mAgentInitialWearables.end()) && (fUpdateFromCOF); ++itWearableData) { const LLUUID& idItem = itWearableData->mItemID; bool fFound = false; - - // TODO-Catznip: [SL-2.2.0] Bit of a hack until LL supports changing the descriptions of links for (S32 idxItem = 0, cntItem = items_by_type[itWearableData->mType].size(); idxItem < cntItem; idxItem++) { const LLViewerInventoryItem* pCOFItem = items_by_type[itWearableData->mType].get(idxItem); @@ -152,7 +150,7 @@ void LLInitialWearablesFetch::processContents() LLAppearanceMgr::instance().setAttachmentInvLinkEnable(true); // if (wearable_array.count() > 0) -// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-04-28 (Catznip-2.5.0a) | Modified: Catznip-2.0.0e +// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-04-28 (Catznip-2.6.0a) | Modified: Catznip-2.0.0e if (fUpdateFromCOF) // [/SL:KB] { @@ -205,12 +203,12 @@ public: link_waiter); } */ -// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-08-14 (Catznip-2.5.0a) | Added: Catznip-2.1.1d +// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-08-14 (Catznip-2.6.0a) | Added: Catznip-2.1.1d doOnIdleOneTime(boost::bind(&LLFetchAndLinkObserver::doneIdle, this)); // [/SL:KB] } -// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-04-02 (Catznip-2.5.0a) | Added: Catznip-2.0.0a +// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-04-02 (Catznip-2.6.0a) | Added: Catznip-2.0.0a void doneIdle() { // NOTE: the code above makes the assumption that COF is empty which won't be the case the way it's used now @@ -243,7 +241,7 @@ void LLInitialWearablesFetch::processWearablesMessage() { // Populate the current outfit folder with links to the wearables passed in the message // InitialWearableData *wearable_data = new InitialWearableData(mAgentInitialWearables[i]); // This will be deleted in the callback. -// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-05-02 (Catznip-2.5.0a) | Added: Catznip-2.0.0f +// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-05-02 (Catznip-2.6.0a) | Added: Catznip-2.0.0f // Fixes minor leak: since COF is used onInitialWearableAssetArrived() will never get called and "wearable_data" leaks InitialWearableData* wearable_data = &mAgentInitialWearables[i]; // [/SL:KB] diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index c62ed40612..9a0a589796 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -1782,7 +1782,7 @@ void LLAppearanceMgr::updateAppearanceFromCOF(bool update_base_outfit_ordering) } } -// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-04-02 (Catznip-2.5.0a) | Added: Catznip-2.0.0a +// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-04-02 (Catznip-2.6.0a) | Added: Catznip-2.0.0a void LLAppearanceMgr::updateAppearanceFromInitialWearables(LLInventoryModel::item_array_t& initial_items) { const LLUUID& idCOF = getCOF(); diff --git a/indra/newview/llappearancemgr.h b/indra/newview/llappearancemgr.h index 9332286e12..91412d149b 100644 --- a/indra/newview/llappearancemgr.h +++ b/indra/newview/llappearancemgr.h @@ -51,7 +51,7 @@ public: typedef std::vector wearables_by_type_t; void updateAppearanceFromCOF(bool update_base_outfit_ordering = false); -// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-04-02 (Catznip-2.5.0a) | Added: Catznip-2.0.0a +// [SL:KB] - Patch: Appearance-MixedViewers | Checked: 2010-04-02 (Catznip-2.6.0a) | Added: Catznip-2.0.0a void updateAppearanceFromInitialWearables(LLInventoryModel::item_array_t& initial_items); // [/SL:KB] bool needToSaveCOF();