Review Request: Use KImageCache if possible, rather than KPixmapCache

Alex Merry kde at randomguy3.me.uk
Sun May 15 19:10:51 CEST 2011



> On May 14, 2011, 11:37 a.m., Ralf Engels wrote:
> > I would like not to use seperate backends for the cache, but for now I guess there is no way around.
> > 
> > I would say ship it, but could you have a look at the code. I found several places where a QPixmapCache is used and using three kinds of caches seems to be a little bit over the top for me.

QPixmapCache does something different - it caches the actual pixmaps (on the X server), rather than just the image data.  I renamed my compatibility class to ImageCache to make the distintion more obvious, and put some apidocs comments in to clarify.  CoverCache should definitely be using QPixmapCache and not KPixmapCache/KImageCache, for example.


- Alex


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/101347/#review3313
-----------------------------------------------------------


On May 12, 2011, 11:52 p.m., Alex Merry wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/101347/
> -----------------------------------------------------------
> 
> (Updated May 12, 2011, 11:52 p.m.)
> 
> 
> Review request for Amarok.
> 
> 
> Summary
> -------
> 
> KPixmapCache is horribly buggy, and that is unlikely to ever change.  Its replacement, KImageCache, is much better, but is only available with kdelibs 4.5 and later.  So we use KImageCache if we are building against kdelibs 4.5 or later.
> 
> To simplify this, I've created a header-only all-inline class PixmapCache which is a practically-zero-cost wrapper around either KPixmapCache or KImageCache.
> 
> 
> Diffs
> -----
> 
>   CMakeLists.txt 8b4134f 
>   ChangeLog b278ef3 
>   config-amarok.h.cmake bcf9c8b 
>   src/App.cpp 1f01536 
>   src/MainWindow.cpp 5c14e89 
>   src/PixmapCache.h PRE-CREATION 
>   src/SvgHandler.h 7425cde 
>   src/SvgHandler.cpp 765eda0 
>   src/moodbar/MoodbarManager.h e3f32b5 
>   src/moodbar/MoodbarManager.cpp acde9e2 
>   src/widgets/BookmarkPopup.cpp 1f62537 
> 
> Diff: http://git.reviewboard.kde.org/r/101347/diff
> 
> 
> Testing
> -------
> 
> Works with latest kdelibs.  Haven't checked build against kdelibs 4.4.x.
> 
> This fixes at least one crash that I could reproduce reliably.
> 
> 
> Thanks,
> 
> Alex
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/amarok-devel/attachments/20110515/46e438b4/attachment.htm 


More information about the Amarok-devel mailing list