[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [Amarok] 4c4d561: Fix crash on copying tracks between collection. BU
From: Sergey Ivanov <123kash () gmail ! com>
Date: 2011-01-09 14:39:52
Message-ID: 20110109143952.D3ACEA6090 () git ! kde ! org
[Download RAW message or body]
commit 4c4d561a078262d6a8724a1d8b4fb6819b263320
branch master
Author: Sergey Ivanov <123kash@gmail.com>
Date: Sun Jan 9 17:40:29 2011 +0300
Fix crash on copying tracks between collection.
BUG: 261364
diff --git a/ChangeLog b/ChangeLog
index 7851071..4c5b6aa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -11,6 +11,7 @@ VERSION 2.4.0
* Fixed some broken radio stream URLs.
BUGFIXES:
+ * Fix crash on copying tracks between collection. (BR 261364)
* Fix fetching of script data. BBC, Free Music Charts and others should work \
again. (BR 261839)
* Actually show the Splash Screen by default, as it was meant to work.
diff --git a/src/core-impl/collections/db/sql/SqlCollectionLocation.cpp \
b/src/core-impl/collections/db/sql/SqlCollectionLocation.cpp index 6322c44..078ce09 \
100644
--- a/src/core-impl/collections/db/sql/SqlCollectionLocation.cpp
+++ b/src/core-impl/collections/db/sql/SqlCollectionLocation.cpp
@@ -192,12 +192,7 @@ SqlCollectionLocation::insert( const Meta::TrackPtr &track, \
const QString &url ) metaTrack->setTitle( track->name() );
if( track->album() )
- {
metaTrack->setAlbum( track->album()->name() );
- // also copy over the album cover
- if( track->album()->hasImage() && !metaTrack->album()->hasImage() )
- metaTrack->album()->setImage( track->album()->image().toImage() );
- }
if( track->artist() )
metaTrack->setArtist( track->artist()->name() );
@@ -260,6 +255,12 @@ SqlCollectionLocation::insert( const Meta::TrackPtr &track, \
const QString &url ) metaTrack->addLabel( label );
metaTrack->endMetaDataUpdate();
+
+ // Used to be updated after changes commit to prevent crash on NULL pointer \
access + // if metaTrack had no album.
+ if( track->album() && track->album()->hasImage() && \
!metaTrack->album()->hasImage() ) + metaTrack->album()->setImage( \
track->album()->image().toImage() ); +
metaTrack->setWriteFile( true );
return true;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic