summaryrefslogtreecommitdiff
path: root/indra/newview/llavataractions.cpp
diff options
context:
space:
mode:
authorLeslie Linden <none@none>2011-04-06 16:55:44 -0700
committerLeslie Linden <none@none>2011-04-06 16:55:44 -0700
commit8cfb11ab91a5710c180b6a894d192f09f596cc2f (patch)
tree91b3f9bdcb9f6e1f482cbd11152afc5a2b9876a9 /indra/newview/llavataractions.cpp
parent4dd471d055bea672f5eb21cfcc4d07e6b3ba3f9b (diff)
WEB-3796 FIX - First click in session on "Profile" button doesn't do anything
* Updated to use the avatar name get callback function so it will always open the profile after the info has been properly cached, rather than silently passing through the function without doing anything. Reviewed by Leyla
Diffstat (limited to 'indra/newview/llavataractions.cpp')
-rwxr-xr-xindra/newview/llavataractions.cpp41
1 files changed, 11 insertions, 30 deletions
diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp
index afa8b62c74..ca7ec7cc30 100755
--- a/indra/newview/llavataractions.cpp
+++ b/indra/newview/llavataractions.cpp
@@ -279,7 +279,7 @@ bool LLAvatarActions::isCalling(const LLUUID &id)
//static
bool LLAvatarActions::canCall()
{
- return LLVoiceClient::getInstance()->voiceEnabled() && LLVoiceClient::getInstance()->isVoiceWorking();
+ return LLVoiceClient::getInstance()->voiceEnabled() && LLVoiceClient::getInstance()->isVoiceWorking();
}
// static
@@ -300,40 +300,21 @@ void LLAvatarActions::startConference(const uuid_vec_t& ids)
make_ui_sound("UISndStartIM");
}
+static void on_avatar_name_show_profile(const LLUUID& agent_id, const LLAvatarName& av_name)
+{
+ llinfos << "opening web profile for " << av_name.mUsername << llendl;
+ std::string url = getProfileURL(av_name.mUsername);
+
+ // PROFILES: open in webkit window
+ LLWeb::loadWebURLInternal(url, "", agent_id.asString());
+}
+
// static
void LLAvatarActions::showProfile(const LLUUID& id)
{
if (id.notNull())
{
- LLSD params;
- params["id"] = id;
- params["open_tab_name"] = "panel_profile";
-
- // PROFILES: open in webkit window
- std::string full_name;
- if (gCacheName->getFullName(id,full_name))
- {
- std::string agent_name = LLCacheName::buildUsername(full_name);
- llinfos << "opening web profile for " << agent_name << llendl;
- std::string url = getProfileURL(agent_name);
- LLWeb::loadWebURLInternal(url, "", id.asString());
- }
- else
- {
- llwarns << "no name info for agent id " << id << llendl;
- }
-#if 0
- //Show own profile
- if(gAgent.getID() == id)
- {
- LLSideTray::getInstance()->showPanel("panel_me", params);
- }
- //Show other user profile
- else
- {
- LLSideTray::getInstance()->showPanel("panel_profile_view", params);
- }
-#endif
+ LLAvatarNameCache::get(id, boost::bind(&on_avatar_name_show_profile, _1, _2));
}
}