diff options
| -rw-r--r-- | indra/llui/llcommandmanager.cpp | 19 | ||||
| -rw-r--r-- | indra/llui/llcommandmanager.h | 16 | ||||
| -rw-r--r-- | indra/newview/lltoolbarview.cpp | 3 | 
3 files changed, 14 insertions, 24 deletions
diff --git a/indra/llui/llcommandmanager.cpp b/indra/llui/llcommandmanager.cpp index 2bd50af7af..9ce7533e1b 100644 --- a/indra/llui/llcommandmanager.cpp +++ b/indra/llui/llcommandmanager.cpp @@ -114,7 +114,7 @@ LLCommand * LLCommandManager::getCommand(const LLCommandId& commandId)  {  	LLCommand * command_match = NULL; -	CommandIndexMap::const_iterator found = mCommandIndices.find(commandId); +	CommandIndexMap::const_iterator found = mCommandIndices.find(commandId.uuid());  	if (found != mCommandIndices.end())  	{ @@ -124,25 +124,10 @@ LLCommand * LLCommandManager::getCommand(const LLCommandId& commandId)  	return command_match;  } -LLCommand * LLCommandManager::getCommand(const LLUUID& commandUUID) -{ -	LLCommand * command_match = NULL; -	 -	CommandUUIDMap::const_iterator found = mCommandUUIDs.find(commandUUID); -	 -	if (found != mCommandUUIDs.end()) -	{ -		command_match = mCommands[found->second]; -	} -	 -	return command_match; -} -  void LLCommandManager::addCommand(LLCommand * command)  {  	LLCommandId command_id = command->id(); -	mCommandIndices[command_id] = mCommands.size(); -	mCommandUUIDs[command_id.uuid()] = mCommands.size(); +	mCommandIndices[command_id.uuid()] = mCommands.size();  	mCommands.push_back(command);  	lldebugs << "Successfully added command: " << command->id().name() << llendl; diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h index 8e5abd6461..8f9f956ec7 100644 --- a/indra/llui/llcommandmanager.h +++ b/indra/llui/llcommandmanager.h @@ -62,17 +62,24 @@ public:  		mUUID = LLUUID::generateNewID(p.name);  	} +	LLCommandId(const LLUUID& uuid) +	:	mName(""), +		mUUID(uuid) +	 +	{ +	} +	  	const std::string& name() const { return mName; }  	const LLUUID& uuid() const { return mUUID; }  	bool operator!=(const LLCommandId& command) const  	{ -		return (mName != command.mName); +		return (mUUID != command.mUUID);  	}  	bool operator==(const LLCommandId& command) const  	{ -		return (mName == command.mName); +		return (mUUID == command.mUUID);  	}  	bool operator<(const LLCommandId& command) const @@ -178,7 +185,6 @@ public:  	U32 commandCount() const;  	LLCommand * getCommand(U32 commandIndex);  	LLCommand * getCommand(const LLCommandId& commandId); -	LLCommand * getCommand(const LLUUID& commandUUID);  	static bool load(); @@ -186,13 +192,11 @@ protected:  	void addCommand(LLCommand * command);  private: -	typedef std::map<LLUUID, U32>	    CommandUUIDMap; -	typedef std::map<LLCommandId, U32>	CommandIndexMap; +	typedef std::map<LLUUID, U32>		CommandIndexMap;  	typedef std::vector<LLCommand *>	CommandVector;  	CommandVector	mCommands;  	CommandIndexMap	mCommandIndices; -	CommandUUIDMap	mCommandUUIDs;  }; diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index c0408e4850..95ed603bbf 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -373,7 +373,8 @@ BOOL LLToolBarView::handleDrop( void* cargo_data, S32 x, S32 y, LLToolBar* toolb  		//llinfos << "Merov debug : handleDrop. Drop source is a widget -> drop it in place..." << llendl;  		// Get the command from its uuid  		LLCommandManager& mgr = LLCommandManager::instance(); -		LLCommand* command = mgr.getCommand(inv_item->getUUID()); +		LLCommandId command_id(inv_item->getUUID()); +		LLCommand* command = mgr.getCommand(command_id);  		if (command)  		{  			// Convert the (x,y) position in rank in toolbar  | 
