From bae25942a7bee6540c252b0a449a0882859c8822 Mon Sep 17 00:00:00 2001
From: Andrey Kleshchev <andreykproductengine@lindenlab.com>
Date: Sat, 14 Oct 2023 02:38:49 +0300
Subject: [PATCH] SL-20163 Fix missing flags

Just in case, this is not fully in use yet, mostly because requests
for avatar icons will become very heavy due all that additional info
---
 indra/newview/llavatarpropertiesprocessor.cpp | 26 +++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/indra/newview/llavatarpropertiesprocessor.cpp b/indra/newview/llavatarpropertiesprocessor.cpp
index f43ada7abcb..11609affcf2 100644
--- a/indra/newview/llavatarpropertiesprocessor.cpp
+++ b/indra/newview/llavatarpropertiesprocessor.cpp
@@ -325,9 +325,35 @@ void LLAvatarPropertiesProcessor::requestAvatarPropertiesCoro(std::string cap_ur
     avatar_data.born_on = result["member_since"].asDate();
     avatar_data.hide_age = result["hide_age"].asBoolean();
     avatar_data.profile_url = getProfileURL(agent_id.asString());
+    avatar_data.customer_type = result["customer_type"].asString();
 
     avatar_data.flags = 0;
+    if (result["online"].asBoolean())
+    {
+        avatar_data.flags |= AVATAR_ONLINE;
+    }
+    if (result["allow_publish"].asBoolean())
+    {
+        avatar_data.flags |= AVATAR_ALLOW_PUBLISH;
+    }
+    if (result["identified"].asBoolean())
+    {
+        avatar_data.flags |= AVATAR_IDENTIFIED;
+    }
+    if (result["transacted"].asBoolean())
+    {
+        avatar_data.flags |= AVATAR_TRANSACTED;
+    }
+
     avatar_data.caption_index = 0;
+    if (result.has("charter_member")) // won't be present if "caption" is set
+    {
+        avatar_data.caption_index = result["charter_member"].asInteger();
+    }
+    else if (result.has("caption"))
+    {
+        avatar_data.caption_text = result["caption"].asString();
+    }
 
     LLAvatarPropertiesProcessor* self = getInstance();
     // Request processed, no longer pending
-- 
GitLab