Summary: | Playlists / podcasts are gone when restarting Amarok | ||
---|---|---|---|
Product: | [Applications] amarok | Reporter: | M. Philippens <marc_philippens> |
Component: | Playlists/Saved Playlists | Assignee: | Amarok Developers <amarok-bugs-dist> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | NOR | ||
Version: | 1.3-SVN | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | patch for playlistbrowser.cpp |
Description
M. Philippens
2005-09-21 19:44:31 UTC
I have the same problem, with all items in the playlist browser sidebar. I updated to v 1.3.1 a couple of days ago but the problem arose yesterday, so as far as I can see the upgrade is not the problem. I run Debian Sid. I have the same problem. It seems to be related to the latest Qt3 update in Debian SID. Once I installed the 3.3.5-1 build of Debian's Qt3 packages, all playlists were gone after restarting amaroK (tested with amaroK 1.3.1, 1.3.2 and an SVN snaphshot somewhere inbetween). It doesn't matter, whether amaroK is built against libqt3-mt-dev 3.3.4-8 or libqt3-mt-dev 3.3.5-1. amaroK always forgets about its playlists, whenever it runs with the Qt 3.3.5-1 libs installed. Reverting to 3.3.4-8 fixes the problem (after rescanning the collection). Wow, wonder what happened there... I didnt think they would change the API as such. I'll have a look. Created attachment 12666 [details]
patch for playlistbrowser.cpp
QDomDocument behaviour has changed in qt3.3.5: - QDom The default constructor for QDocDocument now creates an empty document that can be used to create elements. appendChild doesn't work on empty QDomDocument objects, the node has to be imported first. SVN commit 463041 by markey: FIX: Playlists / Podcasts were gone when restarting amaroK (with Qt 3.3.5). Patch by Matthieu Bedouet <mbedouet@no-log.org>. BUG: 113020 M +2 -0 ChangeLog M +10 -6 src/playlistbrowser.cpp --- trunk/extragear/multimedia/amarok/ChangeLog #463040:463041 @@ -15,6 +15,8 @@ by dragging it. Patch by Eyal Lotem <eyal.lotem@gmail.com>. (BR 103990) BUGFIXES: + * Playlists / Podcasts were gone when restarting amaroK (with Qt 3.3.5). + Patch by Matthieu Bedouet <mbedouet@no-log.org>. (BR 113020) * amaroK could crash on startup, if on last exit sorting was enabled in the playlist. (BR 113042) * Adding entries to a playlist and saving it could duplicate some tracks, --- trunk/extragear/multimedia/amarok/src/playlistbrowser.cpp #463040:463041 @@ -459,7 +459,8 @@ streamB.setAttribute( "product", "amaroK" ); streamB.setAttribute( "version", APP_VERSION ); streamB.setAttribute( "formatversion", "1.1" ); - doc.appendChild( streamB ); + QDomNode streamsNode = doc.importNode( streamB, TRUE ); + doc.appendChild( streamsNode ); QTextStream stream( &file ); stream.setEncoding( QTextStream::UnicodeUTF8 ); @@ -659,7 +660,8 @@ smartB.setAttribute( "product", "amaroK" ); smartB.setAttribute( "version", APP_VERSION ); smartB.setAttribute( "formatversion", "1.1" ); - doc.appendChild( smartB ); + QDomNode smartplaylistsNode = doc.importNode( smartB, TRUE ); + doc.appendChild( smartplaylistsNode ); QTextStream smart( &file ); smart.setEncoding( QTextStream::UnicodeUTF8 ); @@ -768,7 +770,8 @@ dynamicB.setAttribute( "product", "amaroK" ); dynamicB.setAttribute( "version", APP_VERSION ); dynamicB.setAttribute( "formatversion", "1.1" ); - doc.appendChild( dynamicB ); + QDomNode dynamicsNode = doc.importNode( dynamicB, TRUE ); + doc.appendChild( dynamicsNode ); stream.setEncoding( QTextStream::UnicodeUTF8 ); stream << "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"; @@ -878,12 +881,12 @@ podcastB.setAttribute( "product", "amaroK" ); podcastB.setAttribute( "version", APP_VERSION ); podcastB.setAttribute( "formatversion", "1.1" ); - doc.appendChild( podcastB ); + QDomNode podcastNode = doc.importNode( podcastB, TRUE ); + doc.appendChild ( podcastNode ); stream.setEncoding( QTextStream::UnicodeUTF8 ); stream << "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"; stream << doc.toString(); - } void PlaylistBrowser::scanPodcasts() @@ -1149,7 +1152,8 @@ playlistsB.setAttribute( "product", "amaroK" ); playlistsB.setAttribute( "version", APP_VERSION ); playlistsB.setAttribute( "formatversion", "1.1" ); - doc.appendChild( playlistsB ); + QDomNode playlistsNode = doc.importNode( playlistsB, TRUE ); + doc.appendChild( playlistsNode ); QTextStream stream( &file ); stream.setEncoding( QTextStream::UnicodeUTF8 ); Maybe we will have to do this for everything else as well then. IE, equalizer presets, smart playlist, playlists, and everywhere else we use xml files On Fri, 23 Sep 2005 05:38 am, Mark Kretschmann wrote: [bugs.kde.org quoted mail] I just filed #146520 feel free to merge if you think it's the same issue. --yoko |