[frameworks-ksvg] [Bug 524245] New: Plasma theme pixmap cache is not invalidated when a theme's files change under the same name

Gary <[email protected]>
Newsgroups gmane.comp.kde.devel.bugs
Message-ID <[email protected]/>
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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.