summaryrefslogtreecommitdiff
path: root/indra/newview/llappearancemgr.cpp
diff options
context:
space:
mode:
authorLoren Shih <seraph@lindenlab.com>2009-11-17 13:06:01 -0500
committerLoren Shih <seraph@lindenlab.com>2009-11-17 13:06:01 -0500
commitaebfdac65f4f4cc0a8f508faf1391ce113e1c923 (patch)
tree4a806ab38ffac4879b9cb3be6483d5b4892e6547 /indra/newview/llappearancemgr.cpp
parent53beee9e0837865163ff700df4b8d452135da9eb (diff)
parent70b605e4196b538cb7831e8821f765b5c99d9ae0 (diff)
merge
--HG-- branch : avatar-pipeline
Diffstat (limited to 'indra/newview/llappearancemgr.cpp')
-rw-r--r--indra/newview/llappearancemgr.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp
index 554f270c02..043f6f37bf 100644
--- a/indra/newview/llappearancemgr.cpp
+++ b/indra/newview/llappearancemgr.cpp
@@ -95,8 +95,9 @@ public:
mCopyItems(copy_items),
mAppend(append)
{}
- ~LLOutfitObserver() {}
- virtual void done(); //public
+ ~LLOutfitObserver();
+ virtual void done();
+ void doWearCategory();
protected:
LLUUID mCatID;
@@ -104,8 +105,20 @@ protected:
bool mAppend;
};
+LLOutfitObserver::~LLOutfitObserver()
+{
+ llinfos << "~LLOutfitObserver" << llendl;
+}
+
+// BAP is LLOutfitObserver getting deleted here?
void LLOutfitObserver::done()
{
+ gInventory.removeObserver(this);
+ doOnIdle(boost::bind(&LLOutfitObserver::doWearCategory,this));
+}
+
+void LLOutfitObserver::doWearCategory()
+{
// We now have an outfit ready to be copied to agent inventory. Do
// it, and wear that outfit normally.
if(mCopyItems)
@@ -175,6 +188,7 @@ void LLOutfitObserver::done()
// Wear the inventory category.
LLAppearanceManager::instance().wearInventoryCategoryOnAvatar(gInventory.getCategory(mCatID), mAppend);
}
+ delete this;
}
class LLOutfitFetch : public LLInventoryFetchDescendentsObserver