[platforms/x11] Quit the OpenGL Freeze protection thread on shutdown
Summary:
Weird NVIDIA behavior fixup part 2. Now that we do no longer freeze when
NVIDIA decides to create an OpenGL error on startup
(aefb5f4dd9
), we experience a new issue.
KWin is terminating (no idea why, [1]) and at the same time the OpenGL freeze
protection thread is still running. So far we did not terminate the
thread on shutdown and thus we hit an abort in Qt.
This change ensures that we properly terminate the thread on shutdown.
[1] My current theory is that games terminate KWin, common pattern of
bug reports is "steam".
BUG: 382283
FIXED-IN: 5.10.4
Test Plan:
Tortured KWin by making sure I go through the code path,
saw the abort without the patch, no more abort with the patch
Reviewers: #kwin, #plasma
Subscribers: plasma-devel, kwin
Tags: #kwin
Differential Revision: https://phabricator.kde.org/D6735
This commit is contained in:
parent
47f414b6d5
commit
06a558e3de
1 changed files with 8 additions and 1 deletions
|
@ -63,7 +63,14 @@ X11StandalonePlatform::X11StandalonePlatform(QObject *parent)
|
|||
#endif
|
||||
}
|
||||
|
||||
X11StandalonePlatform::~X11StandalonePlatform() = default;
|
||||
X11StandalonePlatform::~X11StandalonePlatform()
|
||||
{
|
||||
if (m_openGLFreezeProtectionThread) {
|
||||
m_openGLFreezeProtectionThread->quit();
|
||||
m_openGLFreezeProtectionThread->wait();
|
||||
delete m_openGLFreezeProtectionThread;
|
||||
}
|
||||
}
|
||||
|
||||
void X11StandalonePlatform::init()
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue