From 2c48161595b9c7caaa3fe0c128a775238f71b7a8 Mon Sep 17 00:00:00 2001 From: Lirusaito Date: Tue, 4 Dec 2012 11:54:54 -0500 Subject: [PATCH] Make Baker's Group code compile! Thanks Shyotl~ Note: Large groups still don't load?! SimConsole cap is needed for Sim Console, won't work without it, keeping it in! ..But it should work with the new ASync one? Maybe needs tweaks, first? Also switches opening IMs to the gCacheName->getFullName(id, name) system mentioned earlier, my connection has improved! And makes the Avatar Picker show display names! Yay! (Rearranged the includes there, alphabetical~) Also fallback to gCacheName->getFullName(id, name) if getting name fails in the new system.. hopefully this will combat occasional big failures.. but it may not work anyway.. maybe my connection is just awful again --- indra/llmessage/aihttptimeoutpolicy.cpp | 1 + indra/llmessage/llavatarnamecache.cpp | 2 ++ indra/newview/llfloateravatarlist.cpp | 8 ++++---- indra/newview/llfloateravatarpicker.cpp | 10 +++++----- indra/newview/llgroupmgr.cpp | 11 +++++++---- indra/newview/llpanelgroupinvite.cpp | 3 ++- indra/newview/llviewerregion.cpp | 2 +- 7 files changed, 22 insertions(+), 15 deletions(-) diff --git a/indra/llmessage/aihttptimeoutpolicy.cpp b/indra/llmessage/aihttptimeoutpolicy.cpp index 4acd41267..7e8cc1f91 100644 --- a/indra/llmessage/aihttptimeoutpolicy.cpp +++ b/indra/llmessage/aihttptimeoutpolicy.cpp @@ -838,6 +838,7 @@ P(estateChangeInfoResponder); P(eventPollResponder); P(fetchInventoryResponder); P(fnPtrResponder); +P2(groupMemberDataResponder, transfer_300s); P2(groupProposalBallotResponder, transfer_300s); P(homeLocationResponder); P(HTTPGetResponder); diff --git a/indra/llmessage/llavatarnamecache.cpp b/indra/llmessage/llavatarnamecache.cpp index 6e114c499..14b02cd00 100644 --- a/indra/llmessage/llavatarnamecache.cpp +++ b/indra/llmessage/llavatarnamecache.cpp @@ -679,6 +679,8 @@ bool LLAvatarNameCache::getPNSName(const LLUUID& agent_id, std::string& name) } return true; } + if (gCacheName->getFullName(agent_id, name)) //We've failed, try to get the legacy name anyway + return false; //Legacy name is still a failure, it's not a PNSName, afterall. return false; } diff --git a/indra/newview/llfloateravatarlist.cpp b/indra/newview/llfloateravatarlist.cpp index 9f2e3c50c..b7bfb850c 100644 --- a/indra/newview/llfloateravatarlist.cpp +++ b/indra/newview/llfloateravatarlist.cpp @@ -482,7 +482,7 @@ void LLFloaterAvatarList::updateAvatarList() //duped for lower section if (name.empty() || (name.compare(" ") == 0))// || (name.compare(gCacheName->getDefaultName()) == 0)) { - if (!gCacheName->getFullName(avid, name)) //seems redudant with LLAvatarNameCache::get above... + if (!gCacheName->getFullName(avid, name)) //seems redudant with LLAvatarNameCache::getPNSName above... { continue; } @@ -521,7 +521,7 @@ void LLFloaterAvatarList::updateAvatarList() continue; } - if (!gCacheName->getFullName(avid, name)) + if (!LLAvatarNameCache::getPNSName(avid, name)) { //name = gCacheName->getDefaultName(); continue; //prevent (Loading...) @@ -949,7 +949,7 @@ void LLFloaterAvatarList::onClickIM(void* userdata) LLUUID agent_id = ids[0]; std::string avatar_name; - if (LLAvatarNameCache::getPNSName(agent_id, avatar_name)) + if (gCacheName->getFullName(agent_id, avatar_name)) { gIMMgr->setFloaterOpen(TRUE); gIMMgr->addSession(avatar_name,IM_NOTHING_SPECIAL,agent_id); @@ -1101,7 +1101,7 @@ BOOL LLFloaterAvatarList::handleKeyHere(KEY key, MASK mask) LLUUID agent_id = ids[0]; std::string avatar_name; - if (LLAvatarNameCache::getPNSName(agent_id, avatar_name)) + if (gCacheName->getFullName(agent_id, avatar_name)) { gIMMgr->setFloaterOpen(TRUE); gIMMgr->addSession(avatar_name,IM_NOTHING_SPECIAL,agent_id); diff --git a/indra/newview/llfloateravatarpicker.cpp b/indra/newview/llfloateravatarpicker.cpp index b93812506..b66309ac4 100644 --- a/indra/newview/llfloateravatarpicker.cpp +++ b/indra/newview/llfloateravatarpicker.cpp @@ -33,21 +33,21 @@ #include "llfloateravatarpicker.h" -#include "message.h" - #include "llagent.h" +#include "llavatarnamecache.h" #include "llbutton.h" #include "llfocusmgr.h" #include "llfoldervieweventlistener.h" -#include "llinventorypanel.h" -#include "llinventorymodel.h" #include "llinventoryfunctions.h" +#include "llinventorymodel.h" +#include "llinventorypanel.h" #include "lllineeditor.h" #include "llscrolllistctrl.h" #include "lltextbox.h" #include "lluictrlfactory.h" #include "llviewercontrol.h" #include "llworld.h" +#include "message.h" // [RLVa:KB] #include "rlvhandler.h" @@ -323,7 +323,7 @@ void LLFloaterAvatarPicker::populateNearMe() LLSD element; element["id"] = av; // value std::string fullname; - if(!gCacheName->getFullName(av, fullname)) + if(!LLAvatarNameCache::getPNSName(av, fullname)) { element["columns"][0]["value"] = LLCacheName::getDefaultName(); all_loaded = FALSE; diff --git a/indra/newview/llgroupmgr.cpp b/indra/newview/llgroupmgr.cpp index 282b5344f..3cde11774 100644 --- a/indra/newview/llgroupmgr.cpp +++ b/indra/newview/llgroupmgr.cpp @@ -1889,10 +1889,15 @@ void LLGroupMgr::sendGroupMemberEjects(const LLUUID& group_id, } +class AIHTTPTimeoutPolicy; +extern AIHTTPTimeoutPolicy groupMemberDataResponder_timeout; + // Responder class for capability group management -class GroupMemberDataResponder : public LLHTTPClient::Responder -{ //Singu: TODO: make this comply with CT3 standards and compile +class GroupMemberDataResponder : public LLHTTPClient::ResponderWithResult +{ public: + virtual AIHTTPTimeoutPolicy const& getHTTPTimeoutPolicy(void) const { return groupMemberDataResponder_timeout; } + GroupMemberDataResponder() {} virtual ~GroupMemberDataResponder() {} virtual void result(const LLSD& pContent); @@ -1951,9 +1956,7 @@ void LLGroupMgr::sendCapGroupMembersRequest(const LLUUID& group_id) LLHTTPClient::ResponderPtr grp_data_responder = new GroupMemberDataResponder(); - //Singu: TODO: make this timeout after 5 minutes somehow.. AIHTTPTimeoutPolicy? // This could take a while to finish, timeout after 5 minutes. - //LLHTTPClient::post(cap_url, body, grp_data_responder, LLSD(), 300); LLHTTPClient::post(cap_url, body, grp_data_responder); mLastGroupMembersRequestFrame = gFrameCount; diff --git a/indra/newview/llpanelgroupinvite.cpp b/indra/newview/llpanelgroupinvite.cpp index 159b2307a..858dfc22a 100644 --- a/indra/newview/llpanelgroupinvite.cpp +++ b/indra/newview/llpanelgroupinvite.cpp @@ -34,6 +34,7 @@ #include "llpanelgroupinvite.h" #include "llagent.h" +#include "llavatarnamecache.h" #include "llfloateravatarpicker.h" #include "llbutton.h" #include "llcombobox.h" @@ -393,7 +394,7 @@ void LLPanelGroupInvite::addUsers(std::vector& agent_ids) for (S32 i = 0; i < (S32)agent_ids.size(); i++) { std::string name; - if(gCacheName->getFullName(agent_ids[i], name)) + if(LLAvatarNameCache::getPNSName(agent_ids[i], name)) names.push_back(name); } mImplementation->addUsers(names, agent_ids); diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index a59392821..67e6ee7ee 100644 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -1621,7 +1621,7 @@ void LLViewerRegionImpl::buildCapabilityNames(LLSD& capabilityNames) capabilityNames.append("SendUserReportWithScreenshot"); capabilityNames.append("ServerReleaseNotes"); capabilityNames.append("SetDisplayName"); - capabilityNames.append("SimConsole"); //Singu: TODO: Removed by Baker, find out if sim console will work without this. + capabilityNames.append("SimConsole"); //Singu Note: Removed by Baker, sim console won't work without this. capabilityNames.append("SimConsoleAsync"); capabilityNames.append("SimulatorFeatures"); capabilityNames.append("StartGroupProposal");