if (parentInfo) {
qCDebug(lcFolderStatus) << r->errorString();
parentInfo->_lastErrorString = r->errorString();
+ auto error = r->error();
parentInfo->resetSubs(this, idx);
- if (r->error() == QNetworkReply::ContentNotFoundError) {
+ if (error == QNetworkReply::ContentNotFoundError) {
parentInfo->_fetched = true;
} else {
ASSERT(!parentInfo->hasLabel());
void FolderStatusModel::SubFolderInfo::resetSubs(FolderStatusModel *model, QModelIndex index)
{
_fetched = false;
- _fetchingJob->deleteLater();
+ if (_fetchingJob) {
+ disconnect(_fetchingJob, nullptr, model, nullptr);
+ _fetchingJob->deleteLater();
+ _fetchingJob.clear();
+ }
if (hasLabel()) {
model->beginRemoveRows(index, 0, 0);
_fetchingLabel = false;