From e48a615aa0ff9848ce45caef8974313d92a05b2e Mon Sep 17 00:00:00 2001 From: pepper <3782201+rohvani@users.noreply.github.com> Date: Mon, 21 Sep 2026 17:15:04 -0400 Subject: 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. --- indra/newview/llfloaterconversationpreview.cpp | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) (limited to 'indra/newview/llfloaterconversationpreview.cpp') 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* 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* messages, const std getChild("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()) { -- cgit v1.3