From c0abbb6a648778f2acfaabd4e70763c0e31f7790 Mon Sep 17 00:00:00 2001 From: Steve Bennetts Date: Mon, 26 Oct 2009 23:41:18 -0700 Subject: Fixed a crash on exit in gInventory destructor. --- indra/newview/llinventorymodel.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'indra/newview/llinventorymodel.cpp') diff --git a/indra/newview/llinventorymodel.cpp b/indra/newview/llinventorymodel.cpp index d5a527773c..e49be83fbc 100644 --- a/indra/newview/llinventorymodel.cpp +++ b/indra/newview/llinventorymodel.cpp @@ -175,13 +175,20 @@ LLInventoryModel::LLInventoryModel() // Destroys the object LLInventoryModel::~LLInventoryModel() +{ + cleanupInventory(); +} + +void LLInventoryModel::cleanupInventory() { empty(); for (observer_list_t::iterator iter = mObservers.begin(); - iter != mObservers.end(); ++iter) + iter != mObservers.end(); ) { - delete *iter; + LLInventoryObserver* observer = *iter++; + delete observer; } + mObservers.clear(); } // This is a convenience function to check if one object has a parent -- cgit v1.2.3