Handle WM/TrackNumber with DWORD content

The default type for this attribute is String, but even MSDN suggests to
support also DWORD, because some applications write such files.

BUG:218526


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1062026 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
This commit is contained in:
Lukáš Lalinský
2009-12-13 15:32:55 +00:00
parent 004551faec
commit 74c3c282c4
2 changed files with 34 additions and 2 deletions

View File

@ -105,8 +105,13 @@ ASF::Tag::year() const
unsigned int
ASF::Tag::track() const
{
if(d->attributeListMap.contains("WM/TrackNumber"))
return d->attributeListMap["WM/TrackNumber"][0].toString().toInt();
if(d->attributeListMap.contains("WM/TrackNumber")) {
const ASF::Attribute attr = d->attributeListMap["WM/TrackNumber"][0];
if(attr.type() == ASF::Attribute::DWordType)
return attr.toUInt();
else
return attr.toString().toInt();
}
if(d->attributeListMap.contains("WM/Track"))
return d->attributeListMap["WM/Track"][0].toUInt();
return 0;