summaryrefslogtreecommitdiff
path: root/indra/newview/llfloaterinspect.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llfloaterinspect.cpp')
-rw-r--r--indra/newview/llfloaterinspect.cpp54
1 files changed, 28 insertions, 26 deletions
diff --git a/indra/newview/llfloaterinspect.cpp b/indra/newview/llfloaterinspect.cpp
index 0f9f60a49a..0ce91ef740 100644
--- a/indra/newview/llfloaterinspect.cpp
+++ b/indra/newview/llfloaterinspect.cpp
@@ -97,27 +97,28 @@ void LLFloaterInspect::show(void* ignored)
void LLFloaterInspect::onClickCreatorProfile(void* ctrl)
{
- if(sInstance->mObjectList->getAllSelected().size() == 0) return;
+ if(sInstance->mObjectList->getAllSelected().size() == 0)
+ {
+ return;
+ }
LLScrollListItem* first_selected =
sInstance->mObjectList->getFirstSelected();
if (first_selected)
{
- LLSelectNode* obj= sInstance->mObjectSelection->getFirstNode();
- LLUUID obj_id, creator_id;
- obj_id = first_selected->getUUID();
- while(obj)
+ struct f : public LLSelectedNodeFunctor
{
- if(obj_id == obj->getObject()->getID())
+ LLUUID obj_id;
+ f(const LLUUID& id) : obj_id(id) {}
+ virtual bool apply(LLSelectNode* node)
{
- creator_id = obj->mPermissions->getCreator();
- break;
+ return (obj_id == node->getObject()->getID());
}
- obj = sInstance->mObjectSelection->getNextNode();
- }
- if(obj)
+ } func(first_selected->getUUID());
+ LLSelectNode* node = sInstance->mObjectSelection->getFirstNode(&func);
+ if(node)
{
- LLFloaterAvatarInfo::showFromDirectory(creator_id);
+ LLFloaterAvatarInfo::showFromDirectory(node->mPermissions->getCreator());
}
}
}
@@ -130,20 +131,20 @@ void LLFloaterInspect::onClickOwnerProfile(void* ctrl)
if (first_selected)
{
- LLSelectNode* obj= sInstance->mObjectSelection->getFirstNode();
- LLUUID obj_id, owner_id;
- obj_id = first_selected->getUUID();
- while(obj)
+ LLUUID selected_id = first_selected->getUUID();
+ struct f : public LLSelectedNodeFunctor
{
- if(obj_id == obj->getObject()->getID())
+ LLUUID obj_id;
+ f(const LLUUID& id) : obj_id(id) {}
+ virtual bool apply(LLSelectNode* node)
{
- owner_id = obj->mPermissions->getOwner();
- break;
+ return (obj_id == node->getObject()->getID());
}
- obj = sInstance->mObjectSelection->getNextNode();
- }
- if(obj)
+ } func(selected_id);
+ LLSelectNode* node = sInstance->mObjectSelection->getFirstNode(&func);
+ if(node)
{
+ const LLUUID& owner_id = node->mPermissions->getOwner();
LLFloaterAvatarInfo::showFromDirectory(owner_id);
}
}
@@ -204,10 +205,12 @@ void LLFloaterInspect::refresh()
}
mObjectList->operateOnAll(LLScrollListCtrl::OP_DELETE);
//List all transient objects, then all linked objects
- LLSelectNode* obj = mObjectSelection->getFirstNode();
- LLSD row;
- while(obj)
+
+ for (LLObjectSelection::iterator iter = mObjectSelection->begin();
+ iter != mObjectSelection->end(); iter++)
{
+ LLSelectNode* obj = *iter;
+ LLSD row;
char owner_first_name[MAX_STRING], owner_last_name[MAX_STRING];
char creator_first_name[MAX_STRING], creator_last_name[MAX_STRING];
char time[MAX_STRING];
@@ -243,7 +246,6 @@ void LLFloaterInspect::refresh()
row["columns"][3]["type"] = "text";
row["columns"][3]["value"] = time;
mObjectList->addElement(row, ADD_TOP);
- obj = mObjectSelection->getNextNode();
}
if(selected_index > -1 && mObjectList->getItemIndex(selected_uuid) == selected_index)
{