Merge pull request #2609 from Trial97/crash_hash

fix crash with hash task
This commit is contained in:
Alexandru Ionut Tripon 2024-07-06 00:48:19 +03:00 committed by GitHub
commit 9596e6fb01
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -18,8 +18,7 @@ Hasher::Ptr createHasher(QString file_path, ModPlatform::ResourceProvider provid
case ModPlatform::ResourceProvider::FLAME:
return makeShared<Hasher>(file_path, Algorithm::Murmur2);
default:
qCritical() << "[Hashing]"
<< "Unrecognized mod platform!";
qCritical() << "[Hashing]" << "Unrecognized mod platform!";
return nullptr;
}
}
@ -138,7 +137,8 @@ QString hash(QByteArray data, Algorithm type)
void Hasher::executeTask()
{
m_future = QtConcurrent::run(QThreadPool::globalInstance(), [this]() { return hash(m_path, m_alg); });
m_future = QtConcurrent::run(
QThreadPool::globalInstance(), [](QString fileName, Algorithm type) { return hash(fileName, type); }, m_path, m_alg);
connect(&m_watcher, &QFutureWatcher<QString>::finished, this, [this] {
if (m_future.isCanceled()) {
emitAborted();