Summary: | amarok keeps getting wikipedia information in endless loop if info in wikipedia doesn't exist | ||
---|---|---|---|
Product: | [Applications] amarok | Reporter: | Lasse Liehu <lasse.liehu> |
Component: | Context View | Assignee: | Amarok Developers <amarok-bugs-dist> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | xzmobile |
Priority: | NOR | ||
Version: | 1.4.6 | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Lasse Liehu
2007-03-09 21:20:21 UTC
Without an example of an artist/album or whatever that causes this the report is useless. OK. Steps to reproduce (and some info I found about after making the report): 1. Set Wikipedia's locale to fi (I don't know if this can be reproduced with other locales as well, but with "English" locale I was not able to reproduce). 2. Start playing a song that doesn't have any Wikipedia information about it's artist, album or the song itself like this one: http://www.shadowgroundsgame.com/media/music/ShadowgroundsOST-01-MainTheme.mp3 3. Change active context view to something other than Wikipedia and then switch to Wikipedia one again 4. Amarok starts fetching Wikipedia information and keeps trying to fetch it in endless loop until the played song changes (or playing is stopped). I don't know if this matters but my KDE language locale is British English and LOCALE environment variable is: fi_FI:fi:en_GB:en Related or a dup to bug 142177. *** Bug 142177 has been marked as a duplicate of this bug. *** confirming, because its dupe was I can confirm this bug. My locale is "de" I can confirm this bug. My locale is "ru" I can confirm this bug. My locale is "de". I am using amarok 1.4.6 with kde 3.5.7. SVN commit 695895 by markey: Wikipedia artist lookup would freeze Amarok if the artist was not found and the locale was not English. This was because of this nasty detail: QString.endsWidth( "" ) always returns true, not false. BUG: 142764 M +2 -0 ChangeLog M +5 -3 src/contextbrowser.cpp --- branches/stable/extragear/multimedia/amarok/ChangeLog #695894:695895 @@ -12,6 +12,8 @@ Gosta <gostaj@gmail.com>. (BR 142999) BUGFIXES: + * Wikipedia artist lookup would freeze Amarok if the artist was not found + and the locale was not English. (BR 142764) * Cannot limit smart playlists to more than 1000 tracks. (BR 148084) * Fixed the formatting in the "Extended Info" pane for podcasts. * Don't show "Not Rated" for items rated with half a star. Patch by Tuomas --- branches/stable/extragear/multimedia/amarok/src/contextbrowser.cpp #695894:695895 @@ -4115,20 +4115,22 @@ if( m_wiki.find( "var wgArticleId = 0" ) != -1 ) { + debug() << "Article not found." << endl; + // article was not found - if( m_wikiCurrentEntry.endsWith( wikiArtistPostfix() ) ) + if( !wikiArtistPostfix().isEmpty() && m_wikiCurrentEntry.endsWith( wikiArtistPostfix() ) ) { m_wikiCurrentEntry = m_wikiCurrentEntry.left( m_wikiCurrentEntry.length() - wikiArtistPostfix().length() ); reloadWikipedia(); return; } - else if( m_wikiCurrentEntry.endsWith( wikiAlbumPostfix() ) ) + else if( !wikiAlbumPostfix().isEmpty() && m_wikiCurrentEntry.endsWith( wikiAlbumPostfix() ) ) { m_wikiCurrentEntry = m_wikiCurrentEntry.left( m_wikiCurrentEntry.length() - wikiAlbumPostfix().length() ); reloadWikipedia(); return; } - else if( m_wikiCurrentEntry.endsWith( wikiTrackPostfix() ) ) + else if( !wikiTrackPostfix().isEmpty() && m_wikiCurrentEntry.endsWith( wikiTrackPostfix() ) ) { m_wikiCurrentEntry = m_wikiCurrentEntry.left( m_wikiCurrentEntry.length() - wikiTrackPostfix().length() ); reloadWikipedia(); |