summaryrefslogtreecommitdiff
path: root/indra/newview/llappearancemgr.cpp
diff options
context:
space:
mode:
authorBrad Payne (Vir Linden) <vir@lindenlab.com>2009-11-17 10:34:14 -0500
committerBrad Payne (Vir Linden) <vir@lindenlab.com>2009-11-17 10:34:14 -0500
commit70b605e4196b538cb7831e8821f765b5c99d9ae0 (patch)
tree03dce516a8ee9367919cb52e3ea3e64e4b25c4a8 /indra/newview/llappearancemgr.cpp
parent9c977aaf52ec8f9b00ec540c9f3ddf204855e1a8 (diff)
parent9c823a1d40392dc00bdfb1f09220a5065d764f40 (diff)
Automated merge with ssh://hg.lindenlab.com/tulla/avatar-pipeline-2-0
--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 80ac9e4085..a23d21f84b 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