From 25e68341272549905298cfd9ae122cb27ae72102 Mon Sep 17 00:00:00 2001 From: "Jonathan \"Geenz\" Goodman" Date: Thu, 22 May 2025 08:14:41 -0400 Subject: Fix null outfit gallery observer pointer --- indra/newview/lloutfitgallery.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'indra/newview/lloutfitgallery.cpp') diff --git a/indra/newview/lloutfitgallery.cpp b/indra/newview/lloutfitgallery.cpp index b84b0b3a8c..9d05276db4 100644 --- a/indra/newview/lloutfitgallery.cpp +++ b/indra/newview/lloutfitgallery.cpp @@ -793,6 +793,12 @@ void LLOutfitGallery::updateAddedCategory(LLUUID cat_id) LLViewerInventoryCategory *cat = gInventory.getCategory(cat_id); if (!cat) return; + if (mOutfitsObserver == NULL) + { + mOutfitsObserver = new LLInventoryCategoriesObserver(); + gInventory.addObserver(mOutfitsObserver); + } + if (!isOutfitFolder(cat)) { // Assume a subfolder that contains or will contain outfits, track it @@ -820,12 +826,6 @@ void LLOutfitGallery::updateAddedCategory(LLUUID cat_id) if (!outfit_category) return; - if (mOutfitsObserver == NULL) - { - mOutfitsObserver = new LLInventoryCategoriesObserver(); - gInventory.addObserver(mOutfitsObserver); - } - // Start observing changes in "My Outfits" category. mOutfitsObserver->addCategory(cat_id, boost::bind(&LLOutfitGallery::refreshOutfit, this, cat_id), true); -- cgit v1.2.3 From b62e7f96c235dd5754e329fcf13c0eea2352bbb1 Mon Sep 17 00:00:00 2001 From: "Jonathan \"Geenz\" Goodman" Date: Thu, 22 May 2025 12:53:37 -0400 Subject: Remove mOutfitsObserver, use mCategoriesObserver from our base. --- indra/newview/lloutfitgallery.cpp | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) (limited to 'indra/newview/lloutfitgallery.cpp') diff --git a/indra/newview/lloutfitgallery.cpp b/indra/newview/lloutfitgallery.cpp index 9d05276db4..98b7d74cd2 100644 --- a/indra/newview/lloutfitgallery.cpp +++ b/indra/newview/lloutfitgallery.cpp @@ -69,7 +69,6 @@ const S32 GALLERY_ITEMS_PER_ROW_MIN = 2; LLOutfitGallery::LLOutfitGallery(const LLOutfitGallery::Params& p) : LLOutfitListBase(), - mOutfitsObserver(NULL), mScrollPanel(NULL), mGalleryPanel(NULL), mLastRowPanel(NULL), @@ -730,12 +729,6 @@ LLOutfitGallery::~LLOutfitGallery() { delete mOutfitGalleryMenu; - if (gInventory.containsObserver(mOutfitsObserver)) - { - gInventory.removeObserver(mOutfitsObserver); - } - delete mOutfitsObserver; - while (!mUnusedRowPanels.empty()) { LLPanel* panelp = mUnusedRowPanels.back(); @@ -793,17 +786,11 @@ void LLOutfitGallery::updateAddedCategory(LLUUID cat_id) LLViewerInventoryCategory *cat = gInventory.getCategory(cat_id); if (!cat) return; - if (mOutfitsObserver == NULL) - { - mOutfitsObserver = new LLInventoryCategoriesObserver(); - gInventory.addObserver(mOutfitsObserver); - } - if (!isOutfitFolder(cat)) { // Assume a subfolder that contains or will contain outfits, track it const LLUUID outfits = gInventory.findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS); - mOutfitsObserver->addCategory(cat_id, [this, outfits]() + mCategoriesObserver->addCategory(cat_id, [this, outfits]() { observerCallback(outfits); }); @@ -827,7 +814,7 @@ void LLOutfitGallery::updateAddedCategory(LLUUID cat_id) return; // Start observing changes in "My Outfits" category. - mOutfitsObserver->addCategory(cat_id, + mCategoriesObserver->addCategory(cat_id, boost::bind(&LLOutfitGallery::refreshOutfit, this, cat_id), true); outfit_category->fetch(); @@ -840,7 +827,7 @@ void LLOutfitGallery::updateRemovedCategory(LLUUID cat_id) if (outfits_iter != mOutfitMap.end()) { // 0. Remove category from observer. - mOutfitsObserver->removeCategory(cat_id); + mCategoriesObserver->removeCategory(cat_id); //const LLUUID& outfit_id = outfits_iter->first; LLOutfitGalleryItem* item = outfits_iter->second; -- cgit v1.2.3