gui: PreviewGeneratorPdf: Guard cache lookup with mutex

No guarantes the read-only lookup is thread-safe so better
just lock there too
Este commit está contenido en:
Albert S. 2022-10-22 15:08:26 +02:00
padre 49a1a14009
commit 1b1ab2387e
Se han modificado 1 ficheros con 3 adiciones y 1 borrados

Ver fichero

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