if(file->open(QIODevice::ReadOnly))
{
m_fileHandle = file;
- return;
}
- LAMEXP_DELETE(file);
+ else
+ {
+ qWarning("[ArtworkModel] Failed to open artwork file!");
+ LAMEXP_DELETE(file);
+ }
}
}
if(*ptr)
{
QMutexLocker lock(&s_mutex);
- (*ptr)->m_referenceCounter = (*ptr)->m_referenceCounter - 1;
- if((*ptr)->m_referenceCounter < 1)
+ if((*ptr)->m_referenceCounter > 0)
+ {
+ (*ptr)->m_referenceCounter = (*ptr)->m_referenceCounter - 1;
+ if((*ptr)->m_referenceCounter < 1)
+ {
+ delete (*ptr);
+ }
+ }
+ else
{
- delete (*ptr);
+ qWarning("[ArtworkModel::detach] Ref counter already zero!");
}
*ptr = NULL;
}
{
QMutexLocker lock(m_mutex);
ArtworkModel_SharedData::detach(&m_data);
- m_data = new ArtworkModel_SharedData(newPath, isOwner);
+ if(!newPath.isEmpty())
+ {
+ m_data = new ArtworkModel_SharedData(newPath, isOwner);
+ }
}
void ArtworkModel::clear(void)
m_metaInfo->update(file.metaInfo(), true);
if(m_offset)
{
+ m_metaInfo->setTitle(QString());
m_metaInfo->setPosition(position ? UINT_MAX : 0);
+ m_metaInfo->setCover(QString(), false);
}
endResetModel();
}