From 4a90d9f3d6d4491aab8b17bc8dc7f3c8ac90de49 Mon Sep 17 00:00:00 2001
From: Leslie Linden <leslie@lindenlab.com>
Date: Thu, 20 Oct 2011 12:40:02 -0700
Subject: [PATCH] * Moved the name storage on the LLCommandId back to the
 LLCommand itself.

Reviewed by Merov.
---
 indra/llui/llcommandmanager.cpp |  9 +++++----
 indra/llui/llcommandmanager.h   | 23 ++++-------------------
 indra/llui/lltoolbar.cpp        |  2 +-
 indra/newview/lltoolbarview.cpp | 29 +++++++++++++++++++----------
 4 files changed, 29 insertions(+), 34 deletions(-)

diff --git a/indra/llui/llcommandmanager.cpp b/indra/llui/llcommandmanager.cpp
index 128ba609cb2..0e2f3f1961b 100644
--- a/indra/llui/llcommandmanager.cpp
+++ b/indra/llui/llcommandmanager.cpp
@@ -41,7 +41,7 @@
 // LLCommandId class
 //
 
-const LLCommandId LLCommandId::null = LLCommandId();
+const LLCommandId LLCommandId::null = LLCommandId("null command");
 
 //
 // LLCommand class
@@ -67,10 +67,11 @@ LLCommand::Params::Params()
 }
 
 LLCommand::LLCommand(const LLCommand::Params& p)
-	: mAvailableInToybox(p.available_in_toybox)
+	: mIdentifier(p.name)
+	, mAvailableInToybox(p.available_in_toybox)
 	, mIcon(p.icon)
-	, mIdentifier(p.name)
 	, mLabelRef(p.label_ref)
+	, mName(p.name)
 	, mTooltipRef(p.tooltip_ref)
 	, mExecuteFunction(p.execute_function)
 	, mExecuteParameters(p.execute_parameters)
@@ -134,7 +135,7 @@ void LLCommandManager::addCommand(LLCommand * command)
 	mCommandIndices[command_id.uuid()] = mCommands.size();
 	mCommands.push_back(command);
 
-	lldebugs << "Successfully added command: " << command->id().name() << llendl;
+	lldebugs << "Successfully added command: " << command->name() << llendl;
 }
 
 //static
diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h
index 9b93ab735a4..a7276a48aa5 100644
--- a/indra/llui/llcommandmanager.h
+++ b/indra/llui/llcommandmanager.h
@@ -50,31 +50,20 @@ class LLCommandId
 		{}
 	};
 
-	LLCommandId()
-		: mName("null command")
-	{
-		mUUID = LLUUID::generateNewID(mName);
-	}
-	
 	LLCommandId(const std::string& name)
-		: mName(name)
 	{
 		mUUID = LLUUID::generateNewID(name);
 	}
 
 	LLCommandId(const Params& p)
-	:	mName(p.name)
 	{
 		mUUID = LLUUID::generateNewID(p.name);
 	}
 
 	LLCommandId(const LLUUID& uuid)
-	:	mName(""),
-		mUUID(uuid)
-	{
-	}
+	:	mUUID(uuid)
+	{}
 	
-	const std::string& name() const { return mName; }
 	const LLUUID& uuid() const { return mUUID; }
 
 	bool operator!=(const LLCommandId& command) const
@@ -87,15 +76,9 @@ class LLCommandId
 		return (mUUID == command.mUUID);
 	}
 
-	bool operator<(const LLCommandId& command) const
-	{
-		return (mName < command.mName);
-	}
-
 	static const LLCommandId null;
 
 private:
-	std::string mName;
 	LLUUID		mUUID;
 };
 
@@ -137,6 +120,7 @@ class LLCommand
 	const std::string& icon() const { return mIcon; }
 	const LLCommandId& id() const { return mIdentifier; }
 	const std::string& labelRef() const { return mLabelRef; }
+	const std::string& name() const { return mName; }
 	const std::string& tooltipRef() const { return mTooltipRef; }
 
 	const std::string& executeFunctionName() const { return mExecuteFunction; }
@@ -160,6 +144,7 @@ class LLCommand
 	bool        mAvailableInToybox;
 	std::string mIcon;
 	std::string mLabelRef;
+	std::string mName;
 	std::string mTooltipRef;
 
 	std::string mExecuteFunction;
diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp
index bceda9bf54a..515605200ed 100644
--- a/indra/llui/lltoolbar.cpp
+++ b/indra/llui/lltoolbar.cpp
@@ -821,7 +821,7 @@ LLToolBarButton* LLToolBar::createButton(const LLCommandId& id)
 	if (!commandp) return NULL;
 
 	LLToolBarButton::Params button_p;
-	button_p.name = commandp->id().name();  // Make sure to retrieve the name from the command itself, not the passed in id
+	button_p.name = commandp->name();
 	button_p.label = LLTrans::getString(commandp->labelRef());
 	button_p.tool_tip = LLTrans::getString(commandp->tooltipRef());
 	button_p.image_overlay = LLUI::getUIImage(commandp->icon());
diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp
index 75bec150824..67ac0815819 100644
--- a/indra/newview/lltoolbarview.cpp
+++ b/indra/newview/lltoolbarview.cpp
@@ -128,7 +128,7 @@ bool LLToolBarView::addCommand(const LLCommandId& command, LLToolBar* toolbar)
 	}
 	else 
 	{
-		llwarns	<< "Toolbars creation : the command " << command.name() << " cannot be found in the command manager" << llendl;
+		llwarns	<< "Toolbars creation : the command with id " << command.uuid().asString() << " cannot be found in the command manager" << llendl;
 		return false;
 	}
 	return true;
@@ -193,9 +193,12 @@ bool LLToolBarView::loadToolbars(bool force_default)
 			LLToolBarEnums::ButtonType button_type = toolbar_set.left_toolbar.button_display_mode;
 			mToolbarLeft->setButtonType(button_type);
 		}
-		BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.left_toolbar.commands)
+		BOOST_FOREACH(const LLCommandId::Params& command_name_param, toolbar_set.left_toolbar.commands)
 		{
-			addCommand(LLCommandId(command),mToolbarLeft);
+			if (addCommand(LLCommandId(command_name_param), mToolbarLeft) == false)
+			{
+				llwarns << "Error adding command '" << command_name_param.name() << "' to left toolbar." << llendl;
+			}
 		}
 	}
 	if (toolbar_set.right_toolbar.isProvided() && mToolbarRight)
@@ -205,9 +208,12 @@ bool LLToolBarView::loadToolbars(bool force_default)
 			LLToolBarEnums::ButtonType button_type = toolbar_set.right_toolbar.button_display_mode;
 			mToolbarRight->setButtonType(button_type);
 		}
-		BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.right_toolbar.commands)
+		BOOST_FOREACH(const LLCommandId::Params& command_name_param, toolbar_set.right_toolbar.commands)
 		{
-			addCommand(LLCommandId(command),mToolbarRight);
+			if (addCommand(LLCommandId(command_name_param), mToolbarRight) == false)
+			{
+				llwarns << "Error adding command '" << command_name_param.name() << "' to right toolbar." << llendl;
+			}
 		}
 	}
 	if (toolbar_set.bottom_toolbar.isProvided() && mToolbarBottom)
@@ -217,9 +223,12 @@ bool LLToolBarView::loadToolbars(bool force_default)
 			LLToolBarEnums::ButtonType button_type = toolbar_set.bottom_toolbar.button_display_mode;
 			mToolbarBottom->setButtonType(button_type);
 		}
-		BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.bottom_toolbar.commands)
+		BOOST_FOREACH(const LLCommandId::Params& command_name_param, toolbar_set.bottom_toolbar.commands)
 		{
-			addCommand(LLCommandId(command),mToolbarBottom);
+			if (addCommand(LLCommandId(command_name_param), mToolbarBottom) == false)
+			{
+				llwarns << "Error adding command '" << command_name_param.name() << "' to bottom toolbar." << llendl;
+			}
 		}
 	}
 	return true;
@@ -289,9 +298,9 @@ void LLToolBarView::addToToolset(command_id_list_t& command_list, Toolbar& toolb
 		LLCommand* command = mgr.getCommand(*it);
 		if (command)
 		{
-			LLCommandId::Params commandParams;
-			commandParams.name = command->id().name();
-			toolbar.commands.add(commandParams);
+			LLCommandId::Params command_name_param;
+			command_name_param.name = command->name();
+			toolbar.commands.add(command_name_param);
 		}
 	}
 }
-- 
GitLab