summaryrefslogtreecommitdiff
path: root/indra/llwindow
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2024-10-17 15:29:35 -0400
committerNat Goodspeed <nat@lindenlab.com>2024-10-17 15:29:35 -0400
commit2a6234e59dc2cebc5e15b7f3685dbf233aa080fb (patch)
treed7353321209512377dcc3d78350f3e8e7da085bb /indra/llwindow
parentc4f2ad1bc2ba08437de19fd6129035b6cbc6e0e1 (diff)
parentfc1c5635d38bceb70132bddf6454e07be61acec2 (diff)
Merge branch 'develop' into nat/frame-profile-stats
Diffstat (limited to 'indra/llwindow')
-rw-r--r--indra/llwindow/llwindowwin32.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp
index 6d8bbe281c..f349c4aea8 100644
--- a/indra/llwindow/llwindowwin32.cpp
+++ b/indra/llwindow/llwindowwin32.cpp
@@ -403,6 +403,7 @@ struct LLWindowWin32::LLWindowWin32Thread : public LL::ThreadPool
// until after some graphics setup. See SL-20177. -Cosmic,2023-09-18
bool mGLReady = false;
bool mGotGLBuffer = false;
+ bool mShuttingDown = false;
};
@@ -4576,12 +4577,14 @@ inline LLWindowWin32::LLWindowWin32Thread::LLWindowWin32Thread()
void LLWindowWin32::LLWindowWin32Thread::close()
{
- if (mWindowHandleThrd)
+ LL::ThreadPool::close();
+ if (!mShuttingDown)
{
LL_WARNS() << "Closing window thread without using destroy_window_handler" << LL_ENDL;
// Workaround for SL-18721 in case window closes too early and abruptly
LLSplashScreen::show();
LLSplashScreen::update("..."); // will be updated later
+ mShuttingDown = true;
}
}
@@ -4793,6 +4796,8 @@ void LLWindowWin32::LLWindowWin32Thread::wakeAndDestroy()
return;
}
+ mShuttingDown = true;
+
// Make sure we don't leave a blank toolbar button.
// Also hiding window now prevents user from suspending it
// via some action (like dragging it around)