forked from qt-creator/qt-creator
Core: Do not use help engine of another thread
As documentation is now registered in another thread accessing the help engine from the main thread may crash. Task-number: QTCREATORBUG-19933 Change-Id: Id5e376c793156bf2d553c237cfb068b000c5afb1 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -158,7 +158,7 @@ void HelpManager::registerDocumentationNow(QFutureInterface<bool> &futureInterfa
|
|||||||
QHelpEngineCore helpEngine(collectionFilePath());
|
QHelpEngineCore helpEngine(collectionFilePath());
|
||||||
helpEngine.setupData();
|
helpEngine.setupData();
|
||||||
bool docsChanged = false;
|
bool docsChanged = false;
|
||||||
QStringList nameSpaces = d->m_helpEngine->registeredDocumentations();
|
QStringList nameSpaces = helpEngine.registeredDocumentations();
|
||||||
for (const QString &file : files) {
|
for (const QString &file : files) {
|
||||||
if (futureInterface.isCanceled())
|
if (futureInterface.isCanceled())
|
||||||
break;
|
break;
|
||||||
@@ -178,7 +178,7 @@ void HelpManager::registerDocumentationNow(QFutureInterface<bool> &futureInterfa
|
|||||||
const QLatin1String key("CreationDate");
|
const QLatin1String key("CreationDate");
|
||||||
const QString &newDate = helpEngine.metaData(file, key).toString();
|
const QString &newDate = helpEngine.metaData(file, key).toString();
|
||||||
const QString &oldDate = helpEngine.metaData(
|
const QString &oldDate = helpEngine.metaData(
|
||||||
d->m_helpEngine->documentationFileName(nameSpace), key).toString();
|
helpEngine.documentationFileName(nameSpace), key).toString();
|
||||||
if (QDateTime::fromString(newDate, Qt::ISODate)
|
if (QDateTime::fromString(newDate, Qt::ISODate)
|
||||||
> QDateTime::fromString(oldDate, Qt::ISODate)) {
|
> QDateTime::fromString(oldDate, Qt::ISODate)) {
|
||||||
if (helpEngine.unregisterDocumentation(nameSpace)) {
|
if (helpEngine.unregisterDocumentation(nameSpace)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user