how to use the cache-to-disk feature in Wallpaper

Benoit Jacob jacob.benoit.1 at gmail.com
Mon Apr 13 05:26:27 CEST 2009


I have a problem, I wonder if I'm hitting a bug.

It seems as if insertIntoCache(key, QImage()) does not do anything
when it is called from ~Mandelbrot(). The expected behavior was to
remove the image corresponding to 'key' from the cache.

I have really checked that the key is correct and that
isUsingDiskCache() returns true. Looking at the source code in
wallpaper.cpp, I can't see anything else to check...

When I used to call  insertIntoCache(key, QImage()) from a slot
connected to a QTimer, it did work. So there seems to be something
specific to calling it from the destructor.

Cheers,
Benoit

2009/4/12 Benoit Jacob <jacob.benoit.1 at gmail.com>:
> 2009/4/12 Aaron J. Seigo <aseigo at kde.org>:
>> if you have 3 containments with the same image as the wallpaper, it shouldn't
>> create three cache files on disk. so there is no real mapping from cache file
>> to containment; there is a mapping of sorts between wallpaper plugins and the
>> cache file they are using ...
>
> ah, right, i hadn't thought of this.
>
> For the rest, I agree, and I don't see any good solution...
>
> The main reason for stale cached images will probably be if plasma
> crashes (which is bound to happen as any binary plugin may crash
> plasma). Maybe then one could say that, when plasma starts for the
> first time after a crash, it prunes its cache (like removing the
> oldest files until the cache size is under a certain limit, as you
> suggested).
>
> Cheers,
> Benoit
>


More information about the Plasma-devel mailing list