diff --git a/indra/newview/fsfloaterim.cpp b/indra/newview/fsfloaterim.cpp index 2d9a6019b9..f1d7ac28fb 100644 --- a/indra/newview/fsfloaterim.cpp +++ b/indra/newview/fsfloaterim.cpp @@ -76,6 +76,7 @@ #include "llnotificationtemplate.h" // Viewer version popup #include "fscommon.h" +#include "fsfloaternearbychat.h" floater_showed_signal_t FSFloaterIM::sIMFloaterShowedSignal; @@ -1520,7 +1521,6 @@ void FSFloaterIM::processChatHistoryStyleUpdate(const LLSD& newvalue) floater->mInputEditor->setFont(font); } } - } void FSFloaterIM::processSessionUpdate(const LLSD& session_update) @@ -1875,6 +1875,28 @@ void FSFloaterIM::setEnableAddFriendButton(BOOL enabled) } // +// FIRE-11734 +//static +void FSFloaterIM::clearAllOpenHistories() +{ + LLFloaterReg::const_instance_list_t& inst_list = LLFloaterReg::getFloaterList("fs_impanel"); + for (LLFloaterReg::const_instance_list_t::const_iterator iter = inst_list.begin(); + iter != inst_list.end(); ++iter) + { + FSFloaterIM* floater = dynamic_cast(*iter); + if (floater) + { + floater->reloadMessages(true); + } + } + + FSFloaterNearbyChat* nearby_chat = LLFloaterReg::getTypedInstance("fs_nearby_chat", LLSD()); + if (nearby_chat) + { + nearby_chat->reloadMessages(true); + } +} + void FSFloaterIM::initIMSession(const LLUUID& session_id) { // Change the floater key to bind it to a new session. diff --git a/indra/newview/fsfloaterim.h b/indra/newview/fsfloaterim.h index 69266585ef..c7f5cc29ac 100644 --- a/indra/newview/fsfloaterim.h +++ b/indra/newview/fsfloaterim.h @@ -116,6 +116,8 @@ public: void updateChatHistoryStyle(); static void processChatHistoryStyleUpdate(const LLSD& newvalue); + + static void clearAllOpenHistories(); // FIRE-11734 BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, EDragAndDropType cargo_type, diff --git a/indra/newview/lllogchat.cpp b/indra/newview/lllogchat.cpp index 846b5ee526..20480f4241 100755 --- a/indra/newview/lllogchat.cpp +++ b/indra/newview/lllogchat.cpp @@ -672,10 +672,10 @@ void LLLogChat::deleteTranscripts() } } } - - // Firestorm communications UI + + // FIRE-11734 - Flush out the current histories from any open chat window //LLFloaterIMSessionTab::processChatHistoryStyleUpdate(true); - FSFloaterIM::processChatHistoryStyleUpdate(true); + FSFloaterIM::clearAllOpenHistories(); // }