Review Request: Improve SqlMeta thread safety
Ralf Engels
ralf-engels at gmx.de
Sat Oct 30 16:15:21 CEST 2010
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/100098/
-----------------------------------------------------------
(Updated 2010-10-30 14:15:21.393906)
Review request for Amarok.
Changes
-------
Fix the locking bug
Summary
-------
This patch improves the SqlMeta thread safety.
It has several parts:
- Use QReadWriteLock for SqlTrack.
For this I also needed to pull the read accessor functions into the .cpp
- SqlCollection is a const pointer.
All metas are directly dependent on the SqlCollection and it could and should never change.
Using weak pointers here is not needed.
Note that now the access to m_collection is also thread safe as it's const
- SqlAlbum::setCompilation did modify the old album
This was changed an a new album will be created.
The positive side effect is that the UI will now update directly if setting a compilation
- SqlAlbum::setImage will now copy embedded images directly when set
If the track-uid is set (maybe from another thread) the cover image will still be found.
Note that the image cache is and was not connected to the track uid.
This addresses bug 254631.
https://bugs.kde.org/show_bug.cgi?id=254631
Diffs (updated)
-----
src/core-impl/collections/sqlcollection/CapabilityDelegateImpl.cpp 0e3578a
src/core-impl/collections/sqlcollection/SqlCollection.cpp b88d257
src/core-impl/collections/sqlcollection/SqlMeta.h cc680ec
src/core-impl/collections/sqlcollection/SqlMeta.cpp 7a210d3
src/core-impl/collections/sqlcollection/SqlRegistry.h 66ba632
src/core-impl/collections/sqlcollection/SqlRegistry.cpp e1b3571
tests/core-impl/collections/sqlcollection/TestSqlArtist.cpp 270874b
Diff: http://git.reviewboard.kde.org/r/100098/diff
Testing
-------
setting and unsetting compilation
changing album name
scanning and fully scanning collection
Thanks,
Ralf
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/amarok-devel/attachments/20101030/b54b300b/attachment.htm
More information about the Amarok-devel
mailing list