summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/llimconversation.cpp4
-rw-r--r--indra/newview/llimfloater.cpp4
-rw-r--r--indra/newview/llnearbychat.cpp4
3 files changed, 12 insertions, 0 deletions
diff --git a/indra/newview/llimconversation.cpp b/indra/newview/llimconversation.cpp
index 99b28255cd..b45fc63825 100644
--- a/indra/newview/llimconversation.cpp
+++ b/indra/newview/llimconversation.cpp
@@ -114,6 +114,10 @@ BOOL LLIMConversation::postBuild()
BOOL LLIMConversation::tick()
{
+ // This check is needed until LLFloaterReg::removeInstance() is synchronized with deleting the floater
+ // via LLMortician::updateClass(), to avoid calling dead instances. See LLFloater::destroy().
+ if (isDead()) return false;
+
// Need to resort the participant list if it's in sort by recent speaker order.
if (mParticipantList)
{
diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp
index dcd19b5856..3458e740e7 100644
--- a/indra/newview/llimfloater.cpp
+++ b/indra/newview/llimfloater.cpp
@@ -487,6 +487,10 @@ void LLIMFloater::onAvatarNameCache(const LLUUID& agent_id,
// virtual
BOOL LLIMFloater::tick()
{
+ // This check is needed until LLFloaterReg::removeInstance() is synchronized with deleting the floater
+ // via LLMortician::updateClass(), to avoid calling dead instances. See LLFloater::destroy().
+ if (isDead()) return false;
+
BOOL parents_retcode = LLIMConversation::tick();
if ( mMeTyping )
diff --git a/indra/newview/llnearbychat.cpp b/indra/newview/llnearbychat.cpp
index 2f5a3a8767..cd181ce865 100644
--- a/indra/newview/llnearbychat.cpp
+++ b/indra/newview/llnearbychat.cpp
@@ -404,6 +404,10 @@ void LLNearbyChat::showTranslationCheckbox(BOOL show)
BOOL LLNearbyChat::tick()
{
+ // This check is needed until LLFloaterReg::removeInstance() is synchronized with deleting the floater
+ // via LLMortician::updateClass(), to avoid calling dead instances. See LLFloater::destroy().
+ if (isDead()) return false;
+
BOOL parents_retcode = LLIMConversation::tick();
displaySpeakingIndicator();