diff options
author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2021-03-10 18:04:22 +0200 |
---|---|---|
committer | Dave Houlton <euclid@lindenlab.com> | 2021-03-26 15:47:49 -0600 |
commit | 3c002e7db56c214267177c040704484d0a489581 (patch) | |
tree | 09e417f38e3c76b0dc93bee9ec3fa3898873acc3 /indra/newview/llfloaterimcontainer.h | |
parent | 303feae305eb526d75b7d9c8b640407cb8003469 (diff) |
SL-14975 SL-14384 viewer crashes because of large chat groups
1. Due to desync participant can be NULL - added NULL checks
2. With large backlog of events, closing and then opening a goup session was causing a crash due to obsolete events - added cleanup for backlog
3. In some cases events were accumulating faster than they were processed - ensured that after certain point event processing scales up with a backlog
Diffstat (limited to 'indra/newview/llfloaterimcontainer.h')
-rw-r--r-- | indra/newview/llfloaterimcontainer.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/indra/newview/llfloaterimcontainer.h b/indra/newview/llfloaterimcontainer.h index 468b47f1f1..b4a9d377ab 100644 --- a/indra/newview/llfloaterimcontainer.h +++ b/indra/newview/llfloaterimcontainer.h @@ -229,9 +229,10 @@ private: conversations_widgets_map mConversationsWidgets; LLConversationViewModel mConversationViewModel; LLFolderView* mConversationsRoot; - LLEventStream mConversationsEventStream; + LLEventStream mConversationsEventStream; - std::deque<LLSD> mConversationEventQueue; + typedef std::map<LLUUID, std::deque<LLSD> > conversations_items_deque; + conversations_items_deque mConversationEventQueue; LLTimer mParticipantRefreshTimer; }; |