fix(ResourceFolder): don't create two smart ptrs for the same raw ptr

Signed-off-by: flow <flowlnlnln@gmail.com>
This commit is contained in:
flow 2023-01-24 15:43:21 -03:00
parent 6eb36fb053
commit 6d27ef5eea
No known key found for this signature in database
GPG Key ID: 8D0F221F0A59F469

View File

@ -260,7 +260,7 @@ void ResourceFolderModel::resolveResource(Resource* res)
return; return;
} }
auto task = createParseTask(*res); Task::Ptr task{ createParseTask(*res) };
if (!task) if (!task)
return; return;
@ -270,11 +270,11 @@ void ResourceFolderModel::resolveResource(Resource* res)
m_active_parse_tasks.insert(ticket, task); m_active_parse_tasks.insert(ticket, task);
connect( connect(
task, &Task::succeeded, this, [=] { onParseSucceeded(ticket, res->internal_id()); }, Qt::ConnectionType::QueuedConnection); task.get(), &Task::succeeded, this, [=] { onParseSucceeded(ticket, res->internal_id()); }, Qt::ConnectionType::QueuedConnection);
connect( connect(
task, &Task::failed, this, [=] { onParseFailed(ticket, res->internal_id()); }, Qt::ConnectionType::QueuedConnection); task.get(), &Task::failed, this, [=] { onParseFailed(ticket, res->internal_id()); }, Qt::ConnectionType::QueuedConnection);
connect( connect(
task, &Task::finished, this, [=] { m_active_parse_tasks.remove(ticket); }, Qt::ConnectionType::QueuedConnection); task.get(), &Task::finished, this, [=] { m_active_parse_tasks.remove(ticket); }, Qt::ConnectionType::QueuedConnection);
m_helper_thread_task.addTask(task); m_helper_thread_task.addTask(task);