[RFC][PATCH] dix/mi/composite: Suppress ClipNotify during window redirection UnmapWindow

Ville Syrjälä ville.syrjala at nokia.com
Wed Dec 15 10:14:22 PST 2010

On Tue, Dec 14, 2010 at 03:57:18PM -0500, ext Adam Jackson wrote:
> On Mon, 2010-12-13 at 19:15 +0200, ville.syrjala at nokia.com wrote:
> > From: Ville Syrjälä <ville.syrjala at nokia.com>
> > 
> > When window redirection is changed, UnmapWindow() is called internally,
> > which leads to windows temporarily getting unrealized. When a window is
> > unrealized, ClipNotify() is called with an empty clip. In the case of
> > Xv this leads to video overlays blinking off and on in a very annoying
> > fashion. Suppress these ClipNotify() calls around the UnmapWindow()
> > calls made from the composite code.
> > 
> > Signed-off-by: Ville Syrjälä <ville.syrjala at nokia.com>
> > ---
> > I'm not 100% sure about the safety of this patch, hence to RFC. However
> > it seems to me that all other windows whose clipping may be affected
> > should get a ClipNotify via ValidateTree. And the redirected window
> > itself will get a ClipNotity again when it gets remapped.
> The result from this sounds reasonable and correct.  The implementation
> should probably be a new CompositeClipNotify wrapper, rather than
> forcing the knowledge into the fb layer.

I was afraid that if I suppress all ClipNotifys something important
might break.

But I should be able to wrap MarkUnrealizedWindow instead and get
exactly the same behaviour as with this patch.

Ville Syrjälä

More information about the xorg-devel mailing list