summaryrefslogtreecommitdiff
path: root/indra/newview/llfloaterconversationpreview.cpp
diff options
context:
space:
mode:
authorpepper <3782201+rohvani@users.noreply.github.com>2026-09-21 17:15:04 -0400
committerpepper <3782201+rohvani@users.noreply.github.com>2026-09-23 15:24:01 -0400
commite48a615aa0ff9848ce45caef8974313d92a05b2e (patch)
tree9771dc1b39644778a3e92ca7790bf6e8793dd463 /indra/newview/llfloaterconversationpreview.cpp
parent2668047ea5fc8c6a271621510db8eb25a2b24502 (diff)
Simplify transcript worker ownership and publication boundaries
Let the legacy worker own its filename and completion signal. Remove manual signal deletion and the unused thread accessor together with Preview's mutex; both loaders publish pages on the main loop. Keep save/delete exclusion and release it before notifying observers. Expose the captured-path reader directly, with account and privacy checks at main-loop dispatch and publication, and remove the redundant bridge.
Diffstat (limited to 'indra/newview/llfloaterconversationpreview.cpp')
-rw-r--r--indra/newview/llfloaterconversationpreview.cpp12
1 files changed, 1 insertions, 11 deletions
diff --git a/indra/newview/llfloaterconversationpreview.cpp b/indra/newview/llfloaterconversationpreview.cpp
index 3221abaeca..4f39b65371 100644
--- a/indra/newview/llfloaterconversationpreview.cpp
+++ b/indra/newview/llfloaterconversationpreview.cpp
@@ -52,7 +52,6 @@ LLFloaterConversationPreview::LLFloaterConversationPreview(const LLSD& session_i
mPageSize(CONVERSATION_HISTORY_PAGE_SIZE),
mAccountName(session_id[LL_FCP_ACCOUNT_NAME]),
mCompleteName(session_id[LL_FCP_COMPLETE_NAME]),
- mMutex(),
mShowHistory(false),
mMessages(NULL),
mHistoryThreadsBusy(false),
@@ -127,9 +126,6 @@ void LLFloaterConversationPreview::setPages(std::list<LLSD>* messages, const std
{
if(file_name == mChatHistoryFileName && messages)
{
- // additional protection to avoid changes of mMessages in setPages()
- LLMutexLock lock(&mMutex);
-
// Preserve the reader's distance from the newest page while asynchronous
// reloads replace the backing list.
const S32 old_last_page = mMessages && !mMessages->empty()
@@ -155,11 +151,6 @@ void LLFloaterConversationPreview::setPages(std::list<LLSD>* messages, const std
getChild<LLTextBox>("page_num_label")->setValue(total_page_num);
mShowHistory = true;
}
- LLLoadHistoryThread* loadThread = LLLogChat::getInstance()->getLoadHistoryThread(mSessionID);
- if (loadThread)
- {
- loadThread->removeLoadEndSignal(boost::bind(&LLFloaterConversationPreview::setPages, this, _1, _2));
- }
}
void LLFloaterConversationPreview::draw()
@@ -364,8 +355,7 @@ void LLFloaterConversationPreview::invalidateHistory()
void LLFloaterConversationPreview::showHistory()
{
- // additional protection to avoid changes of mMessages in setPages
- LLMutexLock lock(&mMutex);
+ // Both loaders publish on the main loop, so pages stay stable during rendering.
mChatHistory->clear();
if(mMessages == NULL || !mMessages->size() || mCurrentPage * mPageSize >= mMessages->size())
{