FIRE-15194: Avatar picker doesn't work anymore when using legacy simulator messages
parent
abb02c6c66
commit
0d4a1ae9df
|
|
@ -65,6 +65,9 @@
|
|||
//put it back as a member once the legacy path is out?
|
||||
static std::map<LLUUID, LLAvatarName> sAvatarNameMap;
|
||||
|
||||
// <FS:Ansariel> FIRE-15194: Avatar picker doesn't work anymore when using legacy simulator messages
|
||||
LLFloaterAvatarPicker::query_id_name_map_t LLFloaterAvatarPicker::sQueryNameMap;
|
||||
|
||||
LLFloaterAvatarPicker* LLFloaterAvatarPicker::show(select_callback_t callback,
|
||||
BOOL allow_multiple,
|
||||
BOOL closeOnSelect,
|
||||
|
|
@ -219,6 +222,14 @@ LLFloaterAvatarPicker::~LLFloaterAvatarPicker()
|
|||
}
|
||||
// </FS:Ansariel>
|
||||
|
||||
// <FS:Ansariel> FIRE-15194: Avatar picker doesn't work anymore when using legacy simulator messages
|
||||
query_id_name_map_t::iterator found = sQueryNameMap.find(mQueryID);
|
||||
if (found != sQueryNameMap.end())
|
||||
{
|
||||
sQueryNameMap.erase(found);
|
||||
}
|
||||
// </FS:Ansariel>
|
||||
|
||||
gFocusMgr.releaseFocusIfNeeded( this );
|
||||
}
|
||||
|
||||
|
|
@ -648,6 +659,9 @@ void LLFloaterAvatarPicker::find()
|
|||
}
|
||||
else
|
||||
{
|
||||
// <FS:Ansariel> FIRE-15194: Avatar picker doesn't work anymore when using legacy simulator messages
|
||||
sQueryNameMap[mQueryID] = getKey().asString();
|
||||
|
||||
LLMessageSystem* msg = gMessageSystem;
|
||||
msg->newMessage("AvatarPickerRequest");
|
||||
msg->nextBlock("AgentData");
|
||||
|
|
@ -774,7 +788,17 @@ void LLFloaterAvatarPicker::processAvatarPickerReply(LLMessageSystem* msg, void*
|
|||
// Not for us
|
||||
if (agent_id != gAgent.getID()) return;
|
||||
|
||||
LLFloaterAvatarPicker* floater = LLFloaterReg::findTypedInstance<LLFloaterAvatarPicker>("avatar_picker");
|
||||
// <FS:Ansariel> FIRE-15194: Avatar picker doesn't work anymore when using legacy simulator messages
|
||||
//LLFloaterAvatarPicker* floater = LLFloaterReg::findTypedInstance<LLFloaterAvatarPicker>("avatar_picker");
|
||||
query_id_name_map_t::iterator found = sQueryNameMap.find(query_id);
|
||||
if (found == sQueryNameMap.end())
|
||||
{
|
||||
return;
|
||||
}
|
||||
std::string floater_key = LLSD(found->second);
|
||||
sQueryNameMap.erase(found);
|
||||
LLFloaterAvatarPicker* floater = LLFloaterReg::findTypedInstance<LLFloaterAvatarPicker>("avatar_picker", floater_key);
|
||||
// </FS:Ansariel>
|
||||
|
||||
// floater is closed or these are not results from our last request
|
||||
if (NULL == floater || query_id != floater->mQueryID)
|
||||
|
|
|
|||
|
|
@ -68,6 +68,11 @@ public:
|
|||
void openFriendsTab();
|
||||
BOOL isExcludeAgentFromSearchResults() {return mExcludeAgentFromSearchResults;}
|
||||
|
||||
// <FS:Ansariel> FIRE-15194: Avatar picker doesn't work anymore when using legacy simulator messages
|
||||
typedef std::map<LLUUID, std::string> query_id_name_map_t;
|
||||
static query_id_name_map_t sQueryNameMap;
|
||||
// </FS:Ansariel>
|
||||
|
||||
private:
|
||||
void editKeystroke(class LLLineEditor* caller, void* user_data);
|
||||
// <FS:Ansariel> Search by UUID
|
||||
|
|
|
|||
Loading…
Reference in New Issue