From cf692c40b0b9f8d0d04cd10a02a84e3f697a2e99 Mon Sep 17 00:00:00 2001 From: Alexander Gavriliuk Date: Mon, 20 Mar 2023 10:20:06 +0100 Subject: SL-18721: Faster viewer shutdown time since performance improvements can lead to perceived inventory loss due to cache corruption --- indra/llwindow/llwindowwin32.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'indra/llwindow') diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp index 41f3042ace..afe26ec5a4 100644 --- a/indra/llwindow/llwindowwin32.cpp +++ b/indra/llwindow/llwindowwin32.cpp @@ -4581,6 +4581,9 @@ std::vector LLWindowWin32::getDynamicFallbackFontList() inline LLWindowWin32::LLWindowWin32Thread::LLWindowWin32Thread() : ThreadPool("Window Thread", 1, MAX_QUEUE_SIZE) { + // Set this flag to true to avoid of implicit call of close() from start() + mExplicitShutdown = true; + ThreadPool::start(); } -- cgit v1.3 From 895ce616ea71b2001ec4e826b80310da80db9a0e Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Thu, 6 Apr 2023 21:19:44 +0300 Subject: SL-19652 Fixed 'working' cursor flicker --- indra/llwindow/llwindow.h | 3 ++- indra/newview/llinventorypanel.cpp | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'indra/llwindow') diff --git a/indra/llwindow/llwindow.h b/indra/llwindow/llwindow.h index 0edf39f6ef..802a3b5213 100644 --- a/indra/llwindow/llwindow.h +++ b/indra/llwindow/llwindow.h @@ -118,7 +118,8 @@ public: // Sets cursor, may set to arrow+hourglass virtual void setCursor(ECursorType cursor) { mNextCursor = cursor; }; - virtual ECursorType getCursor() const; + virtual ECursorType getCursor() const; + virtual ECursorType getNextCursor() const { return mNextCursor; }; virtual void updateCursor() = 0; virtual void captureMouse() = 0; diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index 8029486d6f..2799cb4cdf 100644 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -1268,8 +1268,10 @@ BOOL LLInventoryPanel::handleHover(S32 x, S32 y, MASK mask) { BOOL handled = LLView::handleHover(x, y, mask); if(handled) - { - ECursorType cursor = getWindow()->getCursor(); + { + // getCursor gets current cursor, setCursor sets next cursor + // check that children didn't set own 'next' cursor + ECursorType cursor = getWindow()->getNextCursor(); if (LLInventoryModelBackgroundFetch::instance().folderFetchActive() && cursor == UI_CURSOR_ARROW) { // replace arrow cursor with arrow and hourglass cursor -- cgit v1.3 From 79198eddf76dfa69e8161f7646d8da19853a8a5a Mon Sep 17 00:00:00 2001 From: Andrey Lihatskiy Date: Fri, 7 Jul 2023 20:24:49 +0300 Subject: SL-19966 Reverted "SL-18721: Faster viewer shutdown time since performance improvements can lead to perceived inventory loss due to cache corruption" This reverts commit cf692c40b0b9f8d0d04cd10a02a84e3f697a2e99. --- indra/llcommon/threadpool.cpp | 5 ----- indra/llcommon/threadpool.h | 4 ---- indra/llwindow/llwindowwin32.cpp | 3 --- 3 files changed, 12 deletions(-) (limited to 'indra/llwindow') diff --git a/indra/llcommon/threadpool.cpp b/indra/llcommon/threadpool.cpp index 4a7ead2110..d5adf11264 100644 --- a/indra/llcommon/threadpool.cpp +++ b/indra/llcommon/threadpool.cpp @@ -39,11 +39,6 @@ void LL::ThreadPool::start() run(tname); }); } - - // Special workflow for LLWindowWin32Thread - it's close() should be called explicitly - if (mExplicitShutdown) - return; - // Listen on "LLApp", and when the app is shutting down, close the queue // and join the workers. LLEventPumps::instance().obtain("LLApp").listen( diff --git a/indra/llcommon/threadpool.h b/indra/llcommon/threadpool.h index 0a5f14529b..f8eec3b457 100644 --- a/indra/llcommon/threadpool.h +++ b/indra/llcommon/threadpool.h @@ -59,10 +59,6 @@ namespace LL */ virtual void run(); - protected: - // LLWindowWin32Thread should set this flag to true - bool mExplicitShutdown { false }; - private: void run(const std::string& name); diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp index 2f1a631585..2e560ddb0a 100644 --- a/indra/llwindow/llwindowwin32.cpp +++ b/indra/llwindow/llwindowwin32.cpp @@ -4592,9 +4592,6 @@ std::vector LLWindowWin32::getDynamicFallbackFontList() inline LLWindowWin32::LLWindowWin32Thread::LLWindowWin32Thread() : ThreadPool("Window Thread", 1, MAX_QUEUE_SIZE) { - // Set this flag to true to avoid of implicit call of close() from start() - mExplicitShutdown = true; - ThreadPool::start(); } -- cgit v1.3