diff options
author | Loren Shih <seraph@lindenlab.com> | 2009-11-17 13:06:01 -0500 |
---|---|---|
committer | Loren Shih <seraph@lindenlab.com> | 2009-11-17 13:06:01 -0500 |
commit | aebfdac65f4f4cc0a8f508faf1391ce113e1c923 (patch) | |
tree | 4a806ab38ffac4879b9cb3be6483d5b4892e6547 /indra/newview/llappearancemgr.cpp | |
parent | 53beee9e0837865163ff700df4b8d452135da9eb (diff) | |
parent | 70b605e4196b538cb7831e8821f765b5c99d9ae0 (diff) |
merge
--HG--
branch : avatar-pipeline
Diffstat (limited to 'indra/newview/llappearancemgr.cpp')
-rw-r--r-- | indra/newview/llappearancemgr.cpp | 18 |
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 |