summaryrefslogtreecommitdiff
path: root/indra/newview/llconversationmodel.cpp
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2021-01-05 18:20:30 +0200
committerAndrey Kleshchev <andreykproductengine@lindenlab.com>2021-01-05 18:20:47 +0200
commitdb161b6f85a266ee9d883e3180874de898ccda0e (patch)
tree5c012e271be4652ab3e4300603679f387f58646d /indra/newview/llconversationmodel.cpp
parent5691d302ef876a7e6fb6861441f14e5e7f0c7735 (diff)
SL-14074 Resolved potential cause of conversation crashes
Models (listeners) belong to folder-views, deleting all of them means that not only proper cleanup procedure won't be followed, and view might try clean dead pointer.
Diffstat (limited to 'indra/newview/llconversationmodel.cpp')
-rw-r--r--indra/newview/llconversationmodel.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/indra/newview/llconversationmodel.cpp b/indra/newview/llconversationmodel.cpp
index 4aa74a550c..8293dc6922 100644
--- a/indra/newview/llconversationmodel.cpp
+++ b/indra/newview/llconversationmodel.cpp
@@ -341,6 +341,9 @@ void LLConversationItemSession::removeParticipant(const LLUUID& participant_id)
void LLConversationItemSession::clearParticipants()
{
+ // clearParticipants function potentially is malfunctioning since it only cleans children of models,
+ // it does nothing to views that own those models (listeners)
+ // probably needs to post some kind of 'remove all participants' event
clearChildren();
mIsLoaded = false;
mNeedsRefresh = true;