Fix for memory leak & extra inventory observers in start_new_inventory_observer. Reviewed by Richard
parent
4ba2a80148
commit
1e87fc43d7
|
|
@ -937,7 +937,6 @@ protected:
|
|||
|
||||
//one global instance to bind them
|
||||
LLOpenTaskOffer* gNewInventoryObserver=NULL;
|
||||
|
||||
class LLNewInventoryHintObserver : public LLInventoryAddedObserver
|
||||
{
|
||||
protected:
|
||||
|
|
@ -947,6 +946,8 @@ protected:
|
|||
}
|
||||
};
|
||||
|
||||
LLNewInventoryHintObserver* gNewInventoryHintObserver=NULL;
|
||||
|
||||
void start_new_inventory_observer()
|
||||
{
|
||||
if (!gNewInventoryObserver) //task offer observer
|
||||
|
|
@ -963,7 +964,12 @@ void start_new_inventory_observer()
|
|||
gInventory.addObserver(gInventoryMoveObserver);
|
||||
}
|
||||
|
||||
gInventory.addObserver(new LLNewInventoryHintObserver());
|
||||
if (!gNewInventoryHintObserver)
|
||||
{
|
||||
// Observer is deleted by gInventory
|
||||
gNewInventoryHintObserver = new LLNewInventoryHintObserver();
|
||||
gInventory.addObserver(gNewInventoryHintObserver);
|
||||
}
|
||||
}
|
||||
|
||||
class LLDiscardAgentOffer : public LLInventoryFetchItemsObserver
|
||||
|
|
|
|||
Loading…
Reference in New Issue