diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/newview/llmutelist.cpp | 13 | ||||
| -rw-r--r-- | indra/newview/llmutelist.h | 1 |
2 files changed, 11 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. diff --git a/indra/newview/llmutelist.h b/indra/newview/llmutelist.h index c243b5a2bd..34857e2006 100644 --- a/indra/newview/llmutelist.h +++ b/indra/newview/llmutelist.h @@ -136,6 +136,7 @@ public: void cache(const LLUUID& agent_id); private: + void clearCachedMutes(); bool loadFromFile(const std::string& filename, EMuteListSource source); bool saveToFile(const std::string& filename); bool tryLoadCacheFallback(const LLUUID& agent_id, const std::string& reason); |
