--===============0513117805== Content-Type: multipart/alternative; boundary="===============5767348168776659617==" --===============5767348168776659617== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://svn.reviewboard.kde.org/r/6008/ ----------------------------------------------------------- Review request for Plasma. Summary ------- see: http://www.mail-archive.com/plasma-devel@kde.org/msg13494.html this introduces a Theme object used by Svg to cache the rendering of svg's = asking to be colorized, but which are not part of the theme. this requires = an independent cache and set of color files, therefore a second Theme objec= t. SvgPrivate::actualTheme() is thus overridden by SvgPrivate::cacheAndColo= rsTheme() whenever caching or colors are used. there are two remaining defects of varying severity, though neither is very= high imho: a) if the system color palette changes when the application is not running = (or an svg using such a theme is not running) the cache will not be dropped= . this is an existing issue, however, not something introduce by this patch= set b) the new system color theme is shared for performance reasons, but once c= reated it is never deleted. it ought to be reference counted so it can be c= leaned up after in use, but this is currently not done. several other fixes crept into this patchset (sorry :/) including: * not dropping the cache just because we change themes; this made sense whe= n just plasma-desktop used this or when the apps using Plasma::Theme all us= ed the same theme. this is no longer the case, really, and having applicati= ons changing themes randomly kicking the cache out from underneath other ap= ps that may still be using it is undesirable. this does mean that cache fil= es will accumulate. not sure that's a big issue as they don't tend to be la= rge and are in an area marked as "cache" (so ripe for clean-without-care) * consolidate the signal/slot connections in SvgPrivate::checkColorHints, a= nd now the check is consistent on all paths (previously, it wasn't!) * missing (and possible cause of cache key ambiguity) separator in CACHE_ID= _WITH_SIZE * cleanups such as getting rid of superfluous use of Plasma:: namespacing i= n code that is now in libplasma, such as the stylesheeting. (it was from a = plasmoid sebas wrote originally, iirc, explaining the historical reason for= the explicit namespacing) in any case, consider this a draft at this stage. i'm interested in geting = feedback, improvements and testing. Diffs ----- /trunk/KDE/kdelibs/plasma/private/svg_p.h 1199366 = /trunk/KDE/kdelibs/plasma/svg.cpp 1201684 = /trunk/KDE/kdelibs/plasma/theme.cpp 1201685 = Diff: http://svn.reviewboard.kde.org/r/6008/diff Testing ------- just running normal plasma-desktop and what i use. needs testing with svg's= that will actually rely on this feature. Thanks, Aaron --===============5767348168776659617== Content-Type: text/html; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable
This is an automatically generated e-mail. To reply, visit: http://svn.reviewb= oard.kde.org/r/6008/

Review request for Plasma.
By Aaron Seigo.

Descripti= on

see: http://www.mail-archive.com/plasma-devel@kde.org/msg134=
94.html

this introduces a Theme object used by Svg to cache the rendering of svg=
9;s asking to be colorized, but which are not part of the theme. this requi=
res an independent cache and set of color files, therefore a second Theme o=
bject. SvgPrivate::actualTheme() is thus overridden by SvgPrivate::cacheAnd=
ColorsTheme() whenever caching or colors are used.

there are two remaining defects of varying severity, though neither is very=
 high imho:

a) if the system color palette changes when the application is not running =
(or an svg using such a theme is not running) the cache will not be dropped=
. this is an existing issue, however, not something introduce by this patch=
set

b) the new system color theme is shared for performance reasons, but once c=
reated it is never deleted. it ought to be reference counted so it can be c=
leaned up after in use, but this is currently not done.

several other fixes crept into this patchset (sorry :/) including:

* not dropping the cache just because we change themes; this made sense whe=
n just plasma-desktop used this or when the apps using Plasma::Theme all us=
ed the same theme. this is no longer the case, really, and having applicati=
ons changing themes randomly kicking the cache out from underneath other ap=
ps that may still be using it is undesirable. this does mean that cache fil=
es will accumulate. not sure that's a big issue as they don't tend =
to be large and are in an area marked as "cache" (so ripe for cle=
an-without-care)

* consolidate the signal/slot connections in SvgPrivate::checkColorHints, a=
nd now the check is consistent on all paths (previously, it wasn't!)

* missing (and possible cause of cache key ambiguity) separator in CACHE_ID=
_WITH_SIZE

* cleanups such as getting rid of superfluous use of Plasma:: namespacing i=
n code that is now in libplasma, such as the stylesheeting. (it was from a =
plasmoid sebas wrote originally, iirc, explaining the historical reason for=
 the explicit namespacing)

in any case, consider this a draft at this stage. i'm interested in get=
ing feedback, improvements and testing.

Testing <= /h1>
just running normal plasma-desktop and what i use. needs tes=
ting with svg's that will actually rely on this feature.

Diffs=

  • /trunk/KDE/kdelibs/plasma/private/svg_p.h = (1199366)
  • /trunk/KDE/kdelibs/plasma/svg.cpp (1201684= )
  • /trunk/KDE/kdelibs/plasma/theme.cpp (12016= 85)

View Diff

--===============5767348168776659617==-- --===============0513117805== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel --===============0513117805==--