summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2024-04-24 21:18:14 +0300
committerAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2024-04-24 22:53:29 +0300
commitbc29431ab2f500ba588edaeee34ba2328db199aa (patch)
treeb312e61bd85922caefbc96d55e2855a79c73d081 /indra
parent1bcc4e7f709bf7067121b5891f3f7db3b99235a0 (diff)
viewer#1309 Handle deprecated avatar properties messages
since server still sends those in some cases
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llavatarpropertiesprocessor.cpp42
-rw-r--r--indra/newview/llavatarpropertiesprocessor.h8
-rw-r--r--indra/newview/llstartup.cpp8
3 files changed, 58 insertions, 0 deletions
diff --git a/indra/newview/llavatarpropertiesprocessor.cpp b/indra/newview/llavatarpropertiesprocessor.cpp
index bed8887ce1..bf1080b6cd 100644
--- a/indra/newview/llavatarpropertiesprocessor.cpp
+++ b/indra/newview/llavatarpropertiesprocessor.cpp
@@ -405,6 +405,18 @@ void LLAvatarPropertiesProcessor::processAvatarLegacyPropertiesReply(LLMessageSy
self->notifyObservers(avatar_data.avatar_id, &avatar_data, APT_PROPERTIES_LEGACY);
}
+void LLAvatarPropertiesProcessor::processAvatarInterestsReply(LLMessageSystem* msg, void**)
+{
+/*
+ AvatarInterestsReply is automatically sent by the server in response to the
+ AvatarPropertiesRequest (in addition to the AvatarPropertiesReply message).
+ If the interests panel is no longer part of the design (?) we should just register the message
+ to a handler function that does nothing.
+ That will suppress the warnings and be compatible with old server versions.
+ WARNING: LLTemplateMessageReader::decodeData: Message from 216.82.37.237:13000 with no handler function received: AvatarInterestsReply
+*/
+}
+
void LLAvatarPropertiesProcessor::processAvatarClassifiedsReply(LLMessageSystem* msg, void**)
{
LLAvatarClassifieds classifieds;
@@ -458,6 +470,22 @@ void LLAvatarPropertiesProcessor::processClassifiedInfoReply(LLMessageSystem* ms
self->notifyObservers(c_info.creator_id, &c_info, APT_CLASSIFIED_INFO);
}
+
+void LLAvatarPropertiesProcessor::processAvatarNotesReply(LLMessageSystem* msg, void**)
+{
+ // Deprecated, new "AgentProfile" allows larger notes
+}
+
+void LLAvatarPropertiesProcessor::processAvatarPicksReply(LLMessageSystem* msg, void**)
+{
+ LLUUID agent_id;
+ LLUUID target_id;
+ msg->getUUID(_PREHASH_AgentData, _PREHASH_AgentID, agent_id);
+ msg->getUUID(_PREHASH_AgentData, _PREHASH_TargetID, target_id);
+
+ LL_DEBUGS("AvatarProperties") << "Received AvatarPicksReply for " << target_id << LL_ENDL;
+}
+
void LLAvatarPropertiesProcessor::processPickInfoReply(LLMessageSystem* msg, void**)
{
LLPickData pick_data;
@@ -488,6 +516,20 @@ void LLAvatarPropertiesProcessor::processPickInfoReply(LLMessageSystem* msg, voi
self->notifyObservers(pick_data.creator_id, &pick_data, APT_PICK_INFO);
}
+void LLAvatarPropertiesProcessor::processAvatarGroupsReply(LLMessageSystem* msg, void**)
+{
+ /*
+ AvatarGroupsReply is automatically sent by the server in response to the
+ AvatarPropertiesRequest in addition to the AvatarPropertiesReply message.
+ */
+ LLUUID agent_id;
+ LLUUID avatar_id;
+ msg->getUUIDFast(_PREHASH_AgentData, _PREHASH_AgentID, agent_id);
+ msg->getUUIDFast(_PREHASH_AgentData, _PREHASH_AvatarID, avatar_id);
+
+ LL_DEBUGS("AvatarProperties") << "Received AvatarGroupsReply for " << avatar_id << LL_ENDL;
+}
+
void LLAvatarPropertiesProcessor::notifyObservers(const LLUUID& id, void* data, EAvatarProcessorType type)
{
// Copy the map (because observers may delete themselves when updated?)
diff --git a/indra/newview/llavatarpropertiesprocessor.h b/indra/newview/llavatarpropertiesprocessor.h
index 99ed110487..ab9d8251c0 100644
--- a/indra/newview/llavatarpropertiesprocessor.h
+++ b/indra/newview/llavatarpropertiesprocessor.h
@@ -235,10 +235,18 @@ public:
// Processing of UDP variant of properties, truncates certain fields!
static void processAvatarLegacyPropertiesReply(LLMessageSystem* msg, void**);
+ static void processAvatarInterestsReply(LLMessageSystem* msg, void**);
+
static void processAvatarClassifiedsReply(LLMessageSystem* msg, void**);
static void processClassifiedInfoReply(LLMessageSystem* msg, void**);
+ static void processAvatarGroupsReply(LLMessageSystem* msg, void**);
+
+ static void processAvatarNotesReply(LLMessageSystem* msg, void**);
+
+ static void processAvatarPicksReply(LLMessageSystem* msg, void**);
+
static void processPickInfoReply(LLMessageSystem* msg, void**);
protected:
diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp
index e2530ed5e9..3bf6b13caa 100644
--- a/indra/newview/llstartup.cpp
+++ b/indra/newview/llstartup.cpp
@@ -2713,6 +2713,14 @@ void register_viewer_callbacks(LLMessageSystem* msg)
msg->setHandlerFunc("AvatarPropertiesReply",
&LLAvatarPropertiesProcessor::processAvatarLegacyPropertiesReply);
+ msg->setHandlerFunc("AvatarInterestsReply",
+ &LLAvatarPropertiesProcessor::processAvatarInterestsReply);
+ msg->setHandlerFunc("AvatarGroupsReply",
+ &LLAvatarPropertiesProcessor::processAvatarGroupsReply);
+ msg->setHandlerFunc("AvatarNotesReply",
+ &LLAvatarPropertiesProcessor::processAvatarNotesReply);
+ msg->setHandlerFunc("AvatarPicksReply",
+ &LLAvatarPropertiesProcessor::processAvatarPicksReply);
msg->setHandlerFunc("AvatarClassifiedReply",
&LLAvatarPropertiesProcessor::processAvatarClassifiedsReply);