From 7ddbf118f5d1fde24c10b93432209fbe44d91345 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Wed, 24 Mar 2021 01:53:45 +0200 Subject: SL-13182 Split buildNewViews over frames --- indra/newview/llconversationview.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview/llconversationview.cpp') diff --git a/indra/newview/llconversationview.cpp b/indra/newview/llconversationview.cpp index 093e772abe..46a0a0b37a 100644 --- a/indra/newview/llconversationview.cpp +++ b/indra/newview/llconversationview.cpp @@ -88,6 +88,7 @@ LLConversationViewSession::LLConversationViewSession(const LLConversationViewSes mFlashStarted(false) { mFlashTimer = new LLFlashTimer(); + mAreChildrenInited = true; // inventory only } LLConversationViewSession::~LLConversationViewSession() -- cgit v1.2.3 From b9ac5b8ac43d48fa6d34d513e595ad1e2a5d6307 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Wed, 9 Mar 2022 21:11:19 +0200 Subject: SL-16992 Crash at LLVivoxVoiceClient::notifyStatusObservers --- indra/newview/llconversationview.cpp | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'indra/newview/llconversationview.cpp') diff --git a/indra/newview/llconversationview.cpp b/indra/newview/llconversationview.cpp index fee85d50bd..20fa6d490b 100644 --- a/indra/newview/llconversationview.cpp +++ b/indra/newview/llconversationview.cpp @@ -96,10 +96,14 @@ LLConversationViewSession::~LLConversationViewSession() { mActiveVoiceChannelConnection.disconnect(); - if(LLVoiceClient::instanceExists() && mVoiceClientObserver) - { - LLVoiceClient::getInstance()->removeObserver(mVoiceClientObserver); - } + if (mVoiceClientObserver) + { + if (LLVoiceClient::instanceExists()) + { + LLVoiceClient::getInstance()->removeObserver(mVoiceClientObserver); + } + delete mVoiceClientObserver; + } mFlashTimer->unset(); } @@ -255,7 +259,12 @@ BOOL LLConversationViewSession::postBuild() mIsInActiveVoiceChannel = true; if(LLVoiceClient::instanceExists()) { - LLNearbyVoiceClientStatusObserver* mVoiceClientObserver = new LLNearbyVoiceClientStatusObserver(this); + if (mVoiceClientObserver) + { + LLVoiceClient::getInstance()->removeObserver(mVoiceClientObserver); + delete mVoiceClientObserver; + } + mVoiceClientObserver = new LLNearbyVoiceClientStatusObserver(this); LLVoiceClient::getInstance()->addObserver(mVoiceClientObserver); } break; -- cgit v1.2.3