xserver-multidpi/composite
Ville Syrjala a5266dcb3a composite: Update borderClip in compAllocPixmap()
Previously the parent constrained borderClip was copied over
when compRedirectWindow() is called. That is insufficient eg. in
case the window was already redirected, but not yet realized. So
copy the borderClip over in compAllocPixmap() instead.

Example:
Window 1 is below an automatically redirect window 2. Window 2 is
unmapped and moved outside the extents of window 1. Window 2 is
then mapped again, and MarkOverlappedWindows() uses the up to
date borderSize of window 2 to mark windows, which leaves
window 1 unmarked. Then exposures are calculated using the stale
borderClip of window 2, which causes the window below window 2,
to be exposed through an apparent hole in window 1.

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=22566

Signed-off-by: Ville Syrjala <syrjala@sci.fi>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2011-10-19 17:24:23 -07:00
..
compalloc.c composite: Update borderClip in compAllocPixmap() 2011-10-19 17:24:23 -07:00
compext.c Use internal temp variable for swap macros 2011-09-21 17:12:04 -04:00
compinit.c composite: Support updating an arbitrary subtree 2011-01-05 11:57:31 -08:00
compint.h composite: Copy the window contents back from the pixmap 2011-05-04 19:01:01 +03:00
compositeext.h Export CompositeRegisterAlternateVisuals. 2009-04-27 13:29:40 -07:00
compoverlay.c Sun's copyrights now belong to Oracle 2010-12-07 11:10:35 -08:00
compwindow.c composite: Fix pWin->redirectDraw when changing between manual and automatic redirection 2011-05-04 19:01:01 +03:00
Makefile.am Export CompositeRegisterAlternateVisuals. 2009-04-27 13:29:40 -07:00