diff options
| -rw-r--r-- | indra/newview/llviewermessage.cpp | 10 | 
1 files changed, 8 insertions, 2 deletions
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 3832be727f..766df29a81 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -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  | 
