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
This commit is contained in:
Miklos Vajna 2018-06-28 11:43:35 +02:00
parent 0e0ceebc0d
commit f4c73f90da

View File

@ -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();