Summary: | Missing covers in Context Browser | ||
---|---|---|---|
Product: | [Applications] amarok | Reporter: | Curtis Walker <sultanoswing> |
Component: | general | Assignee: | Amarok Developers <amarok-bugs-dist> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | abdi.malek, mschiff, slashdevdsp |
Priority: | NOR | ||
Version: | 1.4.2 | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Curtis Walker
2006-08-29 11:29:03 UTC
Same problem here with read/write access to the album directories so I don't believe it is related to permissions. I am having the same issue, using Ubuntu 6.06LTS and building from 1.4.2 source with mysql support. The difference is that I use folder.jpg files in each album folder. 1.3.x and 1.4.1 had no issues displaying these covers. 1.4.2 is not displaying them. I also use folder.jpg in each album folder. Although I didn't specifically try compiling without mysql support, the problem exists, as I said above when using or not using mysql as the collection db. *** Bug 133055 has been marked as a duplicate of this bug. *** Hmm it's strange: I could reproduce the problem, but some other developers could not. We'll have to dig a bit deeper. I'll keep you informed.. Thanks Mark. Let me know if I can do anything for you. I'm no programmer, but I can do some tests if you need a guinea pig. I'm seeing this issue too. Does this post shed any light on the problem?: http://amarok.kde.org/forum/index.php/topic,12697.msg14073.html#msg14073 SVN commit 580049 by mkossick: folder album images were not displayed when Amarok was not able to identify the device they are stored on. Thanks to iain_benson for tracking down this bug. BUG: 133174 M +1 -0 ChangeLog M +6 -22 src/collectiondb.cpp M +7 -6 src/mountpointmanager.h --- trunk/extragear/multimedia/amarok/ChangeLog #580048:580049 @@ -40,6 +40,7 @@ * Sort numeric columns in flat collection view numerically. (BR 130667) * Dynamic Collection broke flat collection view when the Filename column was added (BR 132874) + * Cover images were not displayed in some cases (BR 133174) VERSION 1.4.2: --- trunk/extragear/multimedia/amarok/src/collectiondb.cpp #580048:580049 @@ -446,12 +446,7 @@ foreach( result ) { int id = (*it).toInt(); - if ( MountPointManager::instance()->isMounted( id ) ) - { - //KURL relativePath = KURL::fromPathOrURL( *(++it) ); - values.append( ( MountPointManager::instance()->getAbsolutePath( id, *(++it) ) ) ); - } - else ++it; + values.append( ( MountPointManager::instance()->getAbsolutePath( id, *(++it) ) ) ); } return values; } @@ -467,10 +462,7 @@ const QString &rel = *it; it++; int id = (*it).toInt(); - if ( MountPointManager::instance()->isMounted( id ) ) - { - urls += KURL::fromPathOrURL( MountPointManager::instance()->getAbsolutePath( id, rel ) ); - } + urls += KURL::fromPathOrURL( MountPointManager::instance()->getAbsolutePath( id, rel ) ); for( int i = 0; i < QueryBuilder::dragFieldCount-1 && it != values.end(); i++ ) @@ -1510,7 +1502,8 @@ .arg( discNumber ) ); else rs = query( QString( "SELECT tags.deviceid, tags.url FROM tags, year WHERE tags.album = %1 AND " - "tags.artist = %2 AND year.id = tags.year AND tags.discnumber = %3 ORDER BY tags.track;" ) + "tags.artist = %2 AND year.id = tags.year AND tags.discnumber = %3 " + + deviceidSelection() + " ORDER BY tags.track;" ) .arg( album_id ) .arg( artist_id ) .arg( discNumber ) ); @@ -1518,11 +1511,7 @@ foreach( rs ) { int id = (*it).toInt(); - if ( MountPointManager::instance()->isMounted( id ) ) - { - result.append( ( MountPointManager::instance()->getAbsolutePath( id, *(++it) ) ) ); - } - else ++it; + result.append( ( MountPointManager::instance()->getAbsolutePath( id, *(++it) ) ) ); //PostGreSql requires a third column if ( getDbConnectionType() == DbConnection::postgresql ) ++it; } @@ -1540,12 +1529,7 @@ foreach( rs ) { int id = (*it).toInt(); - if ( MountPointManager::instance()->isMounted( id ) ) - { - //KURL relativePath = KURL::fromPathOrURL( *(++it) ); - result.append( ( MountPointManager::instance()->getAbsolutePath( id, *(++it) ) ) ); - } - else ++it; + result.append( ( MountPointManager::instance()->getAbsolutePath( id, *(++it) ) ) ); } return result; } --- trunk/extragear/multimedia/amarok/src/mountpointmanager.h #580048:580049 @@ -163,12 +163,6 @@ int getIdForUrl( KURL url ); int getIdForUrl( QString url ); /** - * checks whether a medium identified by its unique database id is currently mounted. - * @param deviceId the mediums unique id - * @return true if the medium is mounted, false otherwise - */ - bool isMounted ( const int deviceId ) const; - /** * * @param id * @return @@ -220,6 +214,13 @@ ~MountPointManager(); + /** + * checks whether a medium identified by its unique database id is currently mounted. + * Note: does not handle deviceId = -1! It only checks real devices + * @param deviceId the mediums unique id + * @return true if the medium is mounted, false otherwise + */ + bool isMounted ( const int deviceId ) const; void init(); void handleMissingMediaManager(); /** *** Bug 133465 has been marked as a duplicate of this bug. *** Bug is indeed fixed now on my machine, using the SVN (build as of Sept. 3rd). Many thanks! |