gui: PreviewGeneratorPdf: Guard cache lookup with mutex

No guarantes the read-only lookup is thread-safe so better
just lock there too
This commit is contained in:
Albert S. 2022-10-22 15:08:26 +02:00
parent 49a1a14009
commit 1b1ab2387e
1 changed files with 3 additions and 1 deletions

View File

@ -7,10 +7,12 @@ static QMutex cacheMutex;
Poppler::Document *PreviewGeneratorPdf::document(QString path)
{
QMutexLocker locker(&cacheMutex);
if(documentcache.contains(path))
{
return documentcache.value(path);
}
locker.unlock();
Poppler::Document *result = Poppler::Document::load(path);
if(result == nullptr)
{
@ -19,7 +21,7 @@ Poppler::Document *PreviewGeneratorPdf::document(QString path)
}
result->setRenderHint(Poppler::Document::TextAntialiasing);
QMutexLocker locker(&cacheMutex);
locker.relock();
documentcache.insert(path, result);
locker.unlock();
return result;