diff options
| author | Denis Serdjuk <dserduk@productengine.com> | 2010-01-15 18:47:24 +0200 | 
|---|---|---|
| committer | Denis Serdjuk <dserduk@productengine.com> | 2010-01-15 18:47:24 +0200 | 
| commit | 095041154995bdfd8f82ebd4df88df4f84115218 (patch) | |
| tree | 731f3d62da8698746391923c5521c1bea6291ee3 | |
| parent | 6e67ac5e02e0e22433f679eff29a5426d3ace1be (diff) | |
EXT-4160 Gesture floater spam when creating new account
Cause:
There is a global observer ( LLOpenTaskOffer ) which observes creation of new inventory items and open appropriated preview UI for them. Looks like simulator () sends a message  for all active  gestures, when user is logged in first time.
Solution:
Displaying of the preview gesture floater has been removed from global scope. Also I  have added new observer to handle opening gestures as attachment from group notice to avoid regression problems.
--HG--
branch : product-engine
| -rw-r--r-- | indra/newview/llviewermessage.cpp | 16 | 
1 files changed, 13 insertions, 3 deletions
| diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index bcfd1ea0ad..4999ac000e 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -711,6 +711,18 @@ protected:  	}   }; +class LLOpenTaskGroupOffer : public LLInventoryAddedObserver +{ +protected: +	/*virtual*/ void done() +	{ +		open_inventory_offer(mAdded, "group_offer"); +		mAdded.clear(); +		gInventory.removeObserver(this); +		delete this; +	} +}; +  //one global instance to bind them  LLOpenTaskOffer* gNewInventoryObserver=NULL; @@ -929,9 +941,6 @@ void open_inventory_offer(const std::vector<LLUUID>& items, const std::string& f  			  case LLAssetType::AT_ANIMATION:  				  LLFloaterReg::showInstance("preview_anim", LLSD(item_id), take_focus);  				  break; -			  case LLAssetType::AT_GESTURE: -				  LLFloaterReg::showInstance("preview_gesture", LLSD(item_id), take_focus); -				  break;  			  case LLAssetType::AT_SCRIPT:  				  LLFloaterReg::showInstance("preview_script", LLSD(item_id), take_focus);  				  break; @@ -1146,6 +1155,7 @@ bool LLOfferInfo::inventory_offer_callback(const LLSD& notification, const LLSD&  			}  			break;  		case IM_GROUP_NOTICE: +			opener = new LLOpenTaskGroupOffer;  			send_auto_receive_response();  			break;  		case IM_TASK_INVENTORY_OFFERED: | 
