Backport r995379:
Delete the old tileset whenever a new one is created. That prevents that kwin eats more and more pixmaps. svn path=/branches/KDE/4.3/kdebase/workspace/; revision=995385
This commit is contained in:
parent
2feca1b673
commit
48dd6251b0
1 changed files with 10 additions and 0 deletions
|
@ -88,6 +88,8 @@ void renderDot(QPainter *p, const QPointF &point, qreal diameter)
|
|||
OxygenClient::OxygenClient(KDecorationBridge *b, KDecorationFactory *f)
|
||||
: KCommonDecorationUnstable(b, f)
|
||||
, colorCacheInvalid_(true)
|
||||
, shadowTiles_(NULL)
|
||||
, glowTiles_(NULL)
|
||||
, helper_(*globalHelper)
|
||||
{
|
||||
qAddPostRoutine(oxkwincleanupBefore);
|
||||
|
@ -95,6 +97,8 @@ OxygenClient::OxygenClient(KDecorationBridge *b, KDecorationFactory *f)
|
|||
|
||||
OxygenClient::~OxygenClient()
|
||||
{
|
||||
delete glowTiles_;
|
||||
delete shadowTiles_;
|
||||
}
|
||||
QString OxygenClient::visibleName() const
|
||||
{
|
||||
|
@ -561,6 +565,9 @@ TileSet *OxygenClient::shadowTiles(const QColor& color, const QColor& glow, qrea
|
|||
|
||||
tileSet = new TileSet(shadow, size, size, 1, 1);
|
||||
glowTilesOption_ = opt;
|
||||
if (glowTiles_) {
|
||||
delete glowTiles_;
|
||||
}
|
||||
glowTiles_ = tileSet;
|
||||
} else {
|
||||
//---------------------------------------------------------------
|
||||
|
@ -625,6 +632,9 @@ TileSet *OxygenClient::shadowTiles(const QColor& color, const QColor& glow, qrea
|
|||
|
||||
tileSet = new TileSet(shadow, size, size, 1, 1);
|
||||
shadowTilesOption_ = opt;
|
||||
if (shadowTiles_) {
|
||||
delete shadowTiles_;
|
||||
}
|
||||
shadowTiles_ = tileSet;
|
||||
}
|
||||
return tileSet;
|
||||
|
|
Loading…
Reference in a new issue