summaryrefslogtreecommitdiff
path: root/beryl-plugins/src/blurfx.c
diff options
context:
space:
mode:
authoronestone <onestone@d7aaf104-2d23-0410-ae22-9d23157bf5a3>2006-10-03 17:52:01 +0000
committeronestone <onestone@d7aaf104-2d23-0410-ae22-9d23157bf5a3>2006-10-03 17:52:01 +0000
commit777255409e80dc2b74cfa8706f857a2838bdfe2e (patch)
tree5e257763c13ef1c4a4e96485b97c581b2c77a4a1 /beryl-plugins/src/blurfx.c
parent9fadf9dbd4a92d37828ea73a2ca5f03912bf7510 (diff)
downloadmarex-dev-777255409e80dc2b74cfa8706f857a2838bdfe2e.tar.gz
marex-dev-777255409e80dc2b74cfa8706f857a2838bdfe2e.tar.bz2
fixed damage handling of transformed windows. closes #313
git-svn-id: file:///beryl/trunk@462 d7aaf104-2d23-0410-ae22-9d23157bf5a3
Diffstat (limited to 'beryl-plugins/src/blurfx.c')
-rw-r--r--beryl-plugins/src/blurfx.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/beryl-plugins/src/blurfx.c b/beryl-plugins/src/blurfx.c
index e740d81..2610fff 100644
--- a/beryl-plugins/src/blurfx.c
+++ b/beryl-plugins/src/blurfx.c
@@ -1502,6 +1502,7 @@ blurfxPaintWindow (CompWindow * w, const WindowPaintAttrib * attrib,
// paint window
bs->mode = MODE_NORMAL;
+ bs->was_transformed = FALSE;
UNWRAP (bs, s, paintWindow);
status = (*s->paintWindow) (w, &w->lastPaint, region, mask);
@@ -1510,9 +1511,9 @@ blurfxPaintWindow (CompWindow * w, const WindowPaintAttrib * attrib,
}
else
{
-
// paint window
bs->mode = MODE_NORMAL;
+ bs->was_transformed = FALSE;
UNWRAP (bs, s, paintWindow);
status = (*s->paintWindow) (w, attrib, region, mask);
@@ -1520,6 +1521,9 @@ blurfxPaintWindow (CompWindow * w, const WindowPaintAttrib * attrib,
}
+ if (bs->was_transformed)
+ XUnionRegion (&s->region, bs->screenDamage, bs->screenDamage);
+
if (!(mask & PAINT_WINDOW_SOLID_MASK) && !WINDOW_INPUT_INVISIBLE (w))
{
@@ -1681,6 +1685,7 @@ blurfxDrawWindowTexture (CompWindow * w, CompTexture * texture,
#ifdef GL_DEBUG
glGetError ();
#endif
+ bs->was_transformed |= (mask & PAINT_WINDOW_TRANSFORMED_MASK);
return;
}