EXP-1286 : Clean-up the mess I added to llcommandmanager. All CommandId now have a trusted UUID which is the base for indexing and comparison.
parent
55d2e0020b
commit
fc5030fcfe
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue