Version: 0.9.0-beta3 (using KDE KDE 3.5.5) Installed from: Gentoo Packages Compiler: gcc-4.1 OS: Linux Starting from Digikam-0.9.0-beta1, the most recently viewed images are cached (perhaps pre-fetched). However, when an image is modified outside digikam, e.g. in gimp, while digikam is running, digikam is not intelligent enough to notice the change in the image and flush the cache. In another words, if I open an image with an external editor from digikam, have the image edited and saved, when I return to digikam and view the image, I still see the unedited version of the image. The only way to see the view the new version of the image is to restart digikam. Which effective flushes all in-memory cache.
I can confirm this cache problem with current implementation. Marcel, cache mechanism is your (:=)). Perhaps KDE API provide a way to get an event if file have been changed by other applications... Gilles Caulier
Yes, KDirWatch can watch files as well. Is this critical for 0.9.0?
Marcel, try to reproduce the problem and judge if if necessary to fix it before 0.9.0 release. Gilles
The solution is to create a KDirWatch in the right place which watches the files currently in the cache, and remove them from the cache when changed. I don't think this is release critical, I would prefer to fix it post-0.9.0.
SVN commit 616088 by mwiesweg: Watch files contained in LoadingCache for changes from external programs: - set a KDirWatch on all contained files - update after cache operations M +83 -3 loadingcache.cpp M +15 -2 loadingcache.h M +1 -1 loadingcacheinterface.cpp M +1 -1 loadsavetask.cpp
This bug was fixed in 0.9.1 but came back again in 0.9.2. Please reopen it.