diff options
| author | Darl <me@darl.cat> | 2026-04-02 10:23:50 -0500 |
|---|---|---|
| committer | Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> | 2026-04-07 20:48:52 +0300 |
| commit | 03c13540cb38d2e0ada6bf62ad2d4666487fa090 (patch) | |
| tree | 3c755aa370d9ff180fabdb720bf2c90f5569a45c /indra/newview/llmutelist.cpp | |
| parent | 61417e2ba3ba77fe79b9d1d477524cba130106c6 (diff) | |
Treat emptymutelist dispatch from the simulator as authoritative when in a cache fallback status.
This yields to the simulator's responsibility as source-of-truth.
e.g. Bob has Alice blocked for a while across all his devices
1. Bob unblocked Alice on his laptop
2. Bob logs in on his desktop with a cached mutelist
3. LLDispatchEmptyMuteList fires
4. LLMuteList becomes eventually-correct, reflecting most recent signaled user intent
Signed-off-by: Darl <me@darl.cat>
Diffstat (limited to 'indra/newview/llmutelist.cpp')
| -rw-r--r-- | indra/newview/llmutelist.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/indra/newview/llmutelist.cpp b/indra/newview/llmutelist.cpp index d9e674a423..154e826196 100644 --- a/indra/newview/llmutelist.cpp +++ b/indra/newview/llmutelist.cpp @@ -92,7 +92,9 @@ public: const LLUUID& invoice, const sparam_t& strings) { - LLMuteList::getInstance()->setLoaded(LLMuteList::MLS_SERVER_EMPTY); + LLMuteList* mute_list = LLMuteList::getInstance(); + mute_list->clearCachedMutes(); + mute_list->setLoaded(LLMuteList::MLS_SERVER_EMPTY); return true; } }; @@ -231,6 +233,12 @@ bool LLMuteList::getLoadFailed() return false; } +void LLMuteList::clearCachedMutes() +{ + mMutes.clear(); + mLegacyMutes.clear(); +} + const char* LLMuteList::sourceToString(EMuteListSource source) { switch (source) @@ -668,8 +676,7 @@ bool LLMuteList::loadFromFile(const std::string& filename, EMuteListSource sourc } // Replace previous server-backed state so fallback can be superseded by authoritative data. - mMutes.clear(); - mLegacyMutes.clear(); + clearCachedMutes(); // *NOTE: Changing the size of these buffers will require changes // in the scanf below. |
