diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2018-06-28 11:43:35 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2018-06-28 13:30:43 +0200 |
commit | f4c73f90da2a2c31f0d29572180aa97e10c3dbad (patch) | |
tree | 5b3de8221a00f0ddf0e14416b0213939a76e8f98 /cui | |
parent | 0e0ceebc0d6facf803ad089ef38d559355407c54 (diff) |
tdf#117866 cui personalization: fix a possible race
The case when the thread is re-scheduled exactly after checking for
m_bExecute but before taking the solar mutex.
Change-Id: I494c123a6225da60407391771622208c055ae49b
Reviewed-on: https://gerrit.libreoffice.org/56585
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins
Diffstat (limited to 'cui')
-rw-r--r-- | cui/source/options/personalization.cxx | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/cui/source/options/personalization.cxx b/cui/source/options/personalization.cxx index f67c5644f6c5..cf7005b10ee7 100644 --- a/cui/source/options/personalization.cxx +++ b/cui/source/options/personalization.cxx @@ -99,7 +99,13 @@ SelectPersonaDialog::~SelectPersonaDialog() void SelectPersonaDialog::dispose() { if (m_pSearchThread.is()) + { + // Release the solar mutex, so the thread is not affected by the race + // when it's after the m_bExecute check but before taking the solar + // mutex. + SolarMutexReleaser aReleaser; m_pSearchThread->join(); + } m_pEdit.clear(); m_pSearchButton.clear(); |