Review Request 127112: Reparse svgElementsCache instead of deleting it in discardCache

David Rosca nowrep at
Fri Feb 19 11:56:20 UTC 2016

This is an automatically generated e-mail. To reply, visit:

(Updated Feb. 19, 2016, 11:56 a.m.)

Review request for Plasma.


Now that I think about it again, the race condition doesn't really matter here. It won't be the only place where the shared config would be accessed from different threads.

Just from a quick look:
IconItem - queries theme in updatePolish = main thread
SvgItem - queries theme in updatePaintNode = render thread

So I think we should fix the other items with this in mind = don't access Plasma::Theme from render thread.

Bugs: 359539

Repository: plasma-framework


svgElementsCache may be created on render thread and deleted on main thread, which will make KSharedConfig crash (it uses per-thread storage).

Diffs (updated)

  src/plasma/private/theme_p.cpp 2faced8 



I couldn't reproduce the crash, even with QSG_RENDER_LOOP=threaded (on Intel GPU).

I think we can't just call reparseConfiguration in discardCache, because there will be race condititon (reparseConfiguration running on main thread and config being accessed from render thread).


David Rosca

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Plasma-devel mailing list