diff options
| author | Merov Linden <merov@lindenlab.com> | 2013-11-11 18:39:02 -0800 |
|---|---|---|
| committer | Merov Linden <merov@lindenlab.com> | 2013-11-11 18:39:02 -0800 |
| commit | e6b4b89bf12ae410fa87baf01117daa2a47754c0 (patch) | |
| tree | 297264fd49797d75882b91bb80d68c1d196cacd5 /indra/newview/llinventoryobserver.cpp | |
| parent | 3111cf4ccf34f4bfe5aa0c1935f0a13c870a76ea (diff) | |
MAINT-3320 : WIP : Use handle for elements that'll get deleted under us, quite a bit of debug spam to clean later
Diffstat (limited to 'indra/newview/llinventoryobserver.cpp')
| -rwxr-xr-x | indra/newview/llinventoryobserver.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/indra/newview/llinventoryobserver.cpp b/indra/newview/llinventoryobserver.cpp index 9db175ec2e..bfe9ee6198 100755 --- a/indra/newview/llinventoryobserver.cpp +++ b/indra/newview/llinventoryobserver.cpp @@ -690,15 +690,22 @@ void LLInventoryCategoriesObserver::changed(U32 mask) if (!mCategoryMap.size()) return; + llinfos << "Merov : Categories Observer changed, map size = " << mCategoryMap.size() << ", mask = " << mask << llendl; + for (category_map_t::iterator iter = mCategoryMap.begin(); iter != mCategoryMap.end(); ++iter) { const LLUUID& cat_id = (*iter).first; - + LLCategoryData& cat_data = (*iter).second; + LLViewerInventoryCategory* category = gInventory.getCategory(cat_id); if (!category) + { + llinfos << "Merov : Categories Observer disappeared, cat_id = " << cat_id << llendl; + cat_data.mCallback(); continue; + } const S32 version = category->getVersion(); const S32 expected_num_descendents = category->getDescendentCount(); @@ -726,8 +733,6 @@ void LLInventoryCategoriesObserver::changed(U32 mask) const S32 current_num_known_descendents = cats->count() + items->count(); - LLCategoryData& cat_data = (*iter).second; - bool cat_changed = false; // If category version or descendents count has changed @@ -752,6 +757,8 @@ void LLInventoryCategoriesObserver::changed(U32 mask) cat_changed = true; } } + + llinfos << "Merov : Categories Observer changed, cat_id = " << cat_id << ", changed = " << cat_changed << llendl; // If anything has changed above, fire the callback. if (cat_changed) |
