summaryrefslogtreecommitdiff
path: root/composite
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@nokia.com>2011-05-06 18:19:34 +0300
committerKeith Packard <keithp@keithp.com>2011-08-03 20:46:36 -0700
commit9504caf1c3243e3ab2eb7126bc2bb876a8f89918 (patch)
tree9408c3724112841c951699ac9c9e862be02f2fb3 /composite
parentf1d75f3b742231c4c09f13d7a22ed920014cb5ef (diff)
composite: Inhibit window background paint with manual subwindow redirection
The composite extension spec says that window background painting should be inhibited when the subwindow redirection mode is set to manual. This eliminates the ugly flashing effect when compiz unredirects a fullscreen window. Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com> Reviewed-by: Owen Taylor <otaylor@fishsoup.net> Reviewed-by: Keith Packard <keithp@keithp.com> Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'composite')
-rw-r--r--composite/compalloc.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/composite/compalloc.c b/composite/compalloc.c
index 841b2dc11..f00bf4eb0 100644
--- a/composite/compalloc.c
+++ b/composite/compalloc.c
@@ -434,6 +434,7 @@ compRedirectSubwindows (ClientPtr pClient, WindowPtr pWin, int update)
* critical output
*/
DamageExtSetCritical (pClient, TRUE);
+ pWin->inhibitBGPaint = TRUE;
}
return Success;
}
@@ -466,6 +467,7 @@ compFreeClientSubwindows (WindowPtr pWin, XID id)
*/
DamageExtSetCritical (pClient, FALSE);
csw->update = CompositeRedirectAutomatic;
+ pWin->inhibitBGPaint = FALSE;
if (pWin->mapped)
(*pWin->drawable.pScreen->ClearToBackground)(pWin, 0, 0, 0, 0, TRUE);
}