https://bugs.kde.org/show_bug.cgi?id=524245
Bug ID: 524245
Summary: Plasma theme pixmap cache is not invalidated when a
theme's files change under the same name
Classification: Frameworks and Libraries
Product: frameworks-ksvg
Version First 6.6.0
Reported In:
Platform: Kubuntu
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: General
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
Product: frameworks-ksvg · Component: General · Severity: minor
frameworks-ksvg is "Library for complex SVG handling, including support for
dynamic re-coloring, 9-patch images, and disk caching" — the disk caching
clause is this bug. It has a single General component. If the cache turns out
not to be KSvg's, the other candidate is the libplasma product.
SUMMARY
~/.cache/plasma_theme_<name>.kcache is keyed by theme name only. Editing a
theme's SVG artwork in place — same theme name, changed files — leaves the
stale cache serving the old artwork indefinitely. There is no mtime or content
check.
STEPS TO REPRODUCE
1. Copy a system desktop theme to ~/.local/share/plasma/desktoptheme/<name>/,
keeping the original name.
2. Modify one of its widgets/*.svgz files.
3. Restart plasmashell.
OBSERVED RESULT
The old artwork continues to render. Only deleting the cache makes the change
visible:
rm -f ~/.cache/plasma_theme_*.kcache ~/.cache/ksvg-elements
and the deletion must happen while plasmashell is stopped, or it repopulates
from memory.
EXPECTED RESULT
The cache entry is invalidated when the underlying theme files change — a
directory mtime check at load would be enough.
ADDITIONAL INFORMATION
Caching by name is entirely reasonable for the normal case where themes are
immutable packages. It becomes a trap in combination with report #4, whose
workaround requires editing a theme in place under its existing name — so the
two together produce a change that is invisible for two separate reasons at
once.
--
You are receiving this mail because:
You are watching all bug changes.