kwin: update the decoration texture although we dont paint the decoration
We have to update the texture because the next time client->decorationPixmapRequiresRepaint() might return false.
This commit is contained in:
parent
976f396fc7
commit
8a9725a68b
1 changed files with 10 additions and 2 deletions
|
@ -623,8 +623,6 @@ void SceneOpenGL::Window::performPaint(int mask, QRegion region, WindowPaintData
|
||||||
|
|
||||||
void SceneOpenGL::Window::paintDecoration(const QPixmap* decoration, TextureType decorationType, const QRegion& region, const QRect& rect, const WindowPaintData& data, const WindowQuadList& quads, bool updateDeco)
|
void SceneOpenGL::Window::paintDecoration(const QPixmap* decoration, TextureType decorationType, const QRegion& region, const QRect& rect, const WindowPaintData& data, const WindowQuadList& quads, bool updateDeco)
|
||||||
{
|
{
|
||||||
if (quads.isEmpty())
|
|
||||||
return;
|
|
||||||
SceneOpenGL::Texture* decorationTexture;
|
SceneOpenGL::Texture* decorationTexture;
|
||||||
switch(decorationType) {
|
switch(decorationType) {
|
||||||
case DecorationTop:
|
case DecorationTop:
|
||||||
|
@ -653,6 +651,16 @@ void SceneOpenGL::Window::paintDecoration(const QPixmap* decoration, TextureType
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
// We have to update the texture although we do not paint anything.
|
||||||
|
// This is especially needed if we draw the opaque part of the window
|
||||||
|
// and the decoration in two different passes (as we in Scene::paintSimpleWindow do).
|
||||||
|
// Otherwise we run into the situation that in the first pass there are some
|
||||||
|
// pending decoration repaints but we dont paint the decoration and in the
|
||||||
|
// second pass it's the other way around.
|
||||||
|
if (quads.isEmpty())
|
||||||
|
return;
|
||||||
|
|
||||||
if (filter == ImageFilterGood)
|
if (filter == ImageFilterGood)
|
||||||
decorationTexture->setFilter(GL_LINEAR);
|
decorationTexture->setFilter(GL_LINEAR);
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in a new issue