summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorTodd Stinson <stinson@lindenlab.com>2012-08-14 16:04:12 -0700
committerTodd Stinson <stinson@lindenlab.com>2012-08-14 16:04:12 -0700
commitfddaf38f892aa608f9db9c034f6c583d638b6fcf (patch)
tree5f30b0c26b42df2e4e3a0a65bd1bfa6b599a3191 /indra
parent683a96a5f1e9111d62710fe621d52192d34079ed (diff)
PATH-849: Group objects were losing their [group] identifier following the last commit. This should fix that issue.
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llfloaterpathfindingcharacters.cpp24
-rw-r--r--indra/newview/llfloaterpathfindingcharacters.h2
-rw-r--r--indra/newview/llfloaterpathfindinglinksets.cpp24
-rw-r--r--indra/newview/llfloaterpathfindinglinksets.h2
-rw-r--r--indra/newview/llfloaterpathfindingobjects.cpp16
-rw-r--r--indra/newview/llfloaterpathfindingobjects.h3
-rw-r--r--indra/newview/llpathfindingobject.cpp4
-rw-r--r--indra/newview/llpathfindingobject.h6
8 files changed, 57 insertions, 24 deletions
diff --git a/indra/newview/llfloaterpathfindingcharacters.cpp b/indra/newview/llfloaterpathfindingcharacters.cpp
index 4cf82d162c..69c9d94dfa 100644
--- a/indra/newview/llfloaterpathfindingcharacters.cpp
+++ b/indra/newview/llfloaterpathfindingcharacters.cpp
@@ -162,6 +162,22 @@ S32 LLFloaterPathfindingCharacters::getNameColumnIndex() const
return 0;
}
+S32 LLFloaterPathfindingCharacters::getOwnerNameColumnIndex() const
+{
+ return 2;
+}
+
+std::string LLFloaterPathfindingCharacters::getOwnerName(const LLPathfindingObject *pObject) const
+{
+ return (pObject->hasOwner()
+ ? (pObject->hasOwnerName()
+ ? (pObject->isGroupOwned()
+ ? (pObject->getOwnerName() + " " + getString("character_owner_group"))
+ : pObject->getOwnerName())
+ : getString("character_owner_loading"))
+ : getString("character_owner_unknown"));
+}
+
const LLColor4 &LLFloaterPathfindingCharacters::getBeaconColor() const
{
return mBeaconColor;
@@ -206,13 +222,7 @@ LLSD LLFloaterPathfindingCharacters::buildCharacterScrollListItemData(const LLPa
columns[1]["value"] = pCharacterPtr->getDescription();
columns[2]["column"] = "owner";
- columns[2]["value"] = (pCharacterPtr->hasOwner()
- ? (pCharacterPtr->hasOwnerName()
- ? (pCharacterPtr->isGroupOwned()
- ? (pCharacterPtr->getOwnerName() + " " + getString("character_owner_group"))
- : pCharacterPtr->getOwnerName())
- : getString("character_owner_loading"))
- : getString("character_owner_unknown"));
+ columns[2]["value"] = getOwnerName(pCharacterPtr);
S32 cpuTime = llround(pCharacterPtr->getCPUTime());
std::string cpuTimeString = llformat("%d", cpuTime);
diff --git a/indra/newview/llfloaterpathfindingcharacters.h b/indra/newview/llfloaterpathfindingcharacters.h
index 72974f283d..4021f4f119 100644
--- a/indra/newview/llfloaterpathfindingcharacters.h
+++ b/indra/newview/llfloaterpathfindingcharacters.h
@@ -67,6 +67,8 @@ protected:
virtual void updateControlsOnScrollListChange();
virtual S32 getNameColumnIndex() const;
+ virtual S32 getOwnerNameColumnIndex() const;
+ virtual std::string getOwnerName(const LLPathfindingObject *pObject) const;
virtual const LLColor4 &getBeaconColor() const;
virtual LLPathfindingObjectListPtr getEmptyObjectList() const;
diff --git a/indra/newview/llfloaterpathfindinglinksets.cpp b/indra/newview/llfloaterpathfindinglinksets.cpp
index dd28f82db1..4d3b7fca91 100644
--- a/indra/newview/llfloaterpathfindinglinksets.cpp
+++ b/indra/newview/llfloaterpathfindinglinksets.cpp
@@ -280,6 +280,22 @@ S32 LLFloaterPathfindingLinksets::getNameColumnIndex() const
return 0;
}
+S32 LLFloaterPathfindingLinksets::getOwnerNameColumnIndex() const
+{
+ return 2;
+}
+
+std::string LLFloaterPathfindingLinksets::getOwnerName(const LLPathfindingObject *pObject) const
+{
+ return (pObject->hasOwner()
+ ? (pObject->hasOwnerName()
+ ? (pObject->isGroupOwned()
+ ? (pObject->getOwnerName() + " " + getString("linkset_owner_group"))
+ : pObject->getOwnerName())
+ : getString("linkset_owner_loading"))
+ : getString("linkset_owner_unknown"));
+}
+
const LLColor4 &LLFloaterPathfindingLinksets::getBeaconColor() const
{
return mBeaconColor;
@@ -398,13 +414,7 @@ LLSD LLFloaterPathfindingLinksets::buildLinksetScrollListItemData(const LLPathfi
columns[1]["value"] = pLinksetPtr->getDescription();
columns[2]["column"] = "owner";
- columns[2]["value"] = (pLinksetPtr->hasOwner()
- ? (pLinksetPtr->hasOwnerName()
- ? (pLinksetPtr->isGroupOwned()
- ? (pLinksetPtr->getOwnerName() + " " + getString("linkset_owner_group"))
- : pLinksetPtr->getOwnerName())
- : getString("linkset_owner_loading"))
- : getString("linkset_owner_unknown"));
+ columns[2]["value"] = getOwnerName(pLinksetPtr);
columns[3]["column"] = "land_impact";
columns[3]["value"] = llformat("%1d", pLinksetPtr->getLandImpact());
diff --git a/indra/newview/llfloaterpathfindinglinksets.h b/indra/newview/llfloaterpathfindinglinksets.h
index 0877a427b3..d371f36ac3 100644
--- a/indra/newview/llfloaterpathfindinglinksets.h
+++ b/indra/newview/llfloaterpathfindinglinksets.h
@@ -63,6 +63,8 @@ protected:
virtual void updateControlsOnScrollListChange();
virtual S32 getNameColumnIndex() const;
+ virtual S32 getOwnerNameColumnIndex() const;
+ virtual std::string getOwnerName(const LLPathfindingObject *pObject) const;
virtual const LLColor4 &getBeaconColor() const;
virtual LLPathfindingObjectListPtr getEmptyObjectList() const;
diff --git a/indra/newview/llfloaterpathfindingobjects.cpp b/indra/newview/llfloaterpathfindingobjects.cpp
index b3ac18e106..20c1215bcb 100644
--- a/indra/newview/llfloaterpathfindingobjects.cpp
+++ b/indra/newview/llfloaterpathfindingobjects.cpp
@@ -408,7 +408,7 @@ void LLFloaterPathfindingObjects::addObjectToScrollList(const LLPathfindingObjec
if (pObjectPtr->hasOwner() && !pObjectPtr->hasOwnerName())
{
mMissingNameObjectsScrollListItems.insert(std::make_pair<std::string, LLScrollListItem *>(pObjectPtr->getUUID().asString(), scrollListItem));
- pObjectPtr->registerOwnerNameListener(boost::bind(&LLFloaterPathfindingObjects::handleObjectNameResponse, this, _1, _2));
+ pObjectPtr->registerOwnerNameListener(boost::bind(&LLFloaterPathfindingObjects::handleObjectNameResponse, this, _1));
}
}
@@ -435,6 +435,13 @@ S32 LLFloaterPathfindingObjects::getOwnerNameColumnIndex() const
return 2;
}
+std::string LLFloaterPathfindingObjects::getOwnerName(const LLPathfindingObject *pObject) const
+{
+ llassert(0);
+ std::string returnVal;
+ return returnVal;
+}
+
const LLColor4 &LLFloaterPathfindingObjects::getBeaconColor() const
{
return mDefaultBeaconColor;
@@ -685,9 +692,10 @@ void LLFloaterPathfindingObjects::onGodLevelChange(U8 pGodLevel)
requestGetObjects();
}
-void LLFloaterPathfindingObjects::handleObjectNameResponse(const LLUUID &pObjectUUID, const std::string &pOwnerName)
+void LLFloaterPathfindingObjects::handleObjectNameResponse(const LLPathfindingObject *pObject)
{
- const std::string uuid = pObjectUUID.asString();
+ llassert(pObject != NULL);
+ const std::string uuid = pObject->getUUID().asString();
scroll_list_item_map::iterator scrollListItemIter = mMissingNameObjectsScrollListItems.find(uuid);
if (scrollListItemIter != mMissingNameObjectsScrollListItems.end())
{
@@ -695,7 +703,7 @@ void LLFloaterPathfindingObjects::handleObjectNameResponse(const LLUUID &pObject
llassert(scrollListItem != NULL);
LLScrollListCell *scrollListCell = scrollListItem->getColumn(getOwnerNameColumnIndex());
- LLSD ownerName = pOwnerName;
+ LLSD ownerName = getOwnerName(pObject);
scrollListCell->setValue(ownerName);
diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h
index b7fd4340ed..4024e15fd6 100644
--- a/indra/newview/llfloaterpathfindingobjects.h
+++ b/indra/newview/llfloaterpathfindingobjects.h
@@ -89,6 +89,7 @@ protected:
virtual S32 getNameColumnIndex() const;
virtual S32 getOwnerNameColumnIndex() const;
+ virtual std::string getOwnerName(const LLPathfindingObject *pObject) const;
virtual const LLColor4 &getBeaconColor() const;
virtual const LLColor4 &getBeaconTextColor() const;
virtual S32 getBeaconWidth() const;
@@ -127,7 +128,7 @@ private:
void onRegionBoundaryCrossed();
void onGodLevelChange(U8 pGodLevel);
- void handleObjectNameResponse(const LLUUID &pObjectUUID, const std::string &pOwnerName);
+ void handleObjectNameResponse(const LLPathfindingObject *pObject);
void updateMessagingStatus();
void updateStateOnListControls();
diff --git a/indra/newview/llpathfindingobject.cpp b/indra/newview/llpathfindingobject.cpp
index 95da05740d..858d3203c0 100644
--- a/indra/newview/llpathfindingobject.cpp
+++ b/indra/newview/llpathfindingobject.cpp
@@ -129,7 +129,7 @@ LLPathfindingObject::name_connection_t LLPathfindingObject::registerOwnerNameLis
name_connection_t connection;
if (hasOwnerName())
{
- pOwnerNameCallback(getUUID(), getOwnerName());
+ pOwnerNameCallback(this);
}
else
{
@@ -187,7 +187,7 @@ void LLPathfindingObject::handleAvatarNameFetch(const LLUUID &pOwnerUUID, const
disconnectAvatarNameCacheConnection();
- mOwnerNameSignal(getUUID(), getOwnerName());
+ mOwnerNameSignal(this);
}
void LLPathfindingObject::disconnectAvatarNameCacheConnection()
diff --git a/indra/newview/llpathfindingobject.h b/indra/newview/llpathfindingobject.h
index 81b6a2402f..b8d3ca2364 100644
--- a/indra/newview/llpathfindingobject.h
+++ b/indra/newview/llpathfindingobject.h
@@ -62,9 +62,9 @@ public:
inline BOOL isGroupOwned() const {return mIsGroupOwned;};
inline const LLVector3& getLocation() const {return mLocation;};
- typedef boost::function<void (const LLUUID &, const std::string &)> name_callback_t;
- typedef boost::signals2::signal<void (const LLUUID &, const std::string &)> name_signal_t;
- typedef boost::signals2::connection name_connection_t;
+ typedef boost::function<void (const LLPathfindingObject *)> name_callback_t;
+ typedef boost::signals2::signal<void (const LLPathfindingObject *)> name_signal_t;
+ typedef boost::signals2::connection name_connection_t;
name_connection_t registerOwnerNameListener(name_callback_t pOwnerNameCallback);