diff options
author | Steve Bennetts <steve@lindenlab.com> | 2009-10-27 16:31:07 -0700 |
---|---|---|
committer | Steve Bennetts <steve@lindenlab.com> | 2009-10-27 16:31:07 -0700 |
commit | cadc8dc4a3c6f5d7a431e671857d09e0b5eac4a4 (patch) | |
tree | 1492275a17540d35b88c3eef11447b593f87f6af /indra/newview/llinventorymodel.cpp | |
parent | 9423f756e0d0eae72f0f79aa7f1a85b56a282e6f (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.cpp | 8 |
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(); |