summaryrefslogtreecommitdiff
path: root/indra/newview/llinventorymodel.cpp
diff options
context:
space:
mode:
authorSteve Bennetts <steve@lindenlab.com>2009-10-27 16:31:07 -0700
committerSteve Bennetts <steve@lindenlab.com>2009-10-27 16:31:07 -0700
commitcadc8dc4a3c6f5d7a431e671857d09e0b5eac4a4 (patch)
tree1492275a17540d35b88c3eef11447b593f87f6af /indra/newview/llinventorymodel.cpp
parent9423f756e0d0eae72f0f79aa7f1a85b56a282e6f (diff)
Fix for gInventory cleanup on shutdown, includes making LLNavigationBar a LLSingleton and explicitly destroying it with the rest of the UI.
Diffstat (limited to 'indra/newview/llinventorymodel.cpp')
-rw-r--r--indra/newview/llinventorymodel.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/indra/newview/llinventorymodel.cpp b/indra/newview/llinventorymodel.cpp
index e49be83fbc..1d7cbde0d5 100644
--- a/indra/newview/llinventorymodel.cpp
+++ b/indra/newview/llinventorymodel.cpp
@@ -182,10 +182,12 @@ LLInventoryModel::~LLInventoryModel()
void LLInventoryModel::cleanupInventory()
{
empty();
- for (observer_list_t::iterator iter = mObservers.begin();
- iter != mObservers.end(); )
+ // Deleting one observer might erase others from the list, so always pop off the front
+ while (!mObservers.empty())
{
- LLInventoryObserver* observer = *iter++;
+ observer_list_t::iterator iter = mObservers.begin();
+ LLInventoryObserver* observer = *iter;
+ mObservers.erase(iter);
delete observer;
}
mObservers.clear();