Composite overlay window

Deron Johnson Deron.Johnson at Sun.COM
Mon Mar 27 13:52:23 PST 2006


You are right. Thanks for catching it. I'll file a bug.

Soeren Sandmann wrote On 03/24/06 12:17,:
> Soeren Sandmann <sandmann at daimi.au.dk> writes:
> 
> 
>>few problems with the current implementation as the attached prgoram
> 
> 
> It looks like, you might have forgotten to commit the dix level
> support for the composite overlay windows. This patch makes it work
> for me.
> 
> 
> Soren
> 
> 
> 
> ------------------------------------------------------------------------
> 
> Index: composite/compwindow.c
> ===================================================================
> RCS file: /cvs/xorg/xserver/xorg/composite/compwindow.c,v
> retrieving revision 1.12
> diff -u -p -u -r1.12 compwindow.c
> --- composite/compwindow.c	13 Mar 2006 21:59:55 -0000	1.12
> +++ composite/compwindow.c	24 Mar 2006 20:13:21 -0000
> @@ -600,6 +602,7 @@ compCreateWindow (WindowPtr pWin)
>      cs->CreateWindow = pScreen->CreateWindow;
>      pScreen->CreateWindow = compCreateWindow;
>      compCheckTree (pWin->drawable.pScreen);
> +    RegisterRealChildHeadProc (CompositeRealChildHead);
>      return ret;
>  }
>  
> Index: dix/window.c
> ===================================================================
> RCS file: /cvs/xorg/xserver/xorg/dix/window.c,v
> retrieving revision 1.14
> diff -u -p -u -r1.14 window.c
> --- dix/window.c	15 Feb 2006 20:44:12 -0000	1.14
> +++ dix/window.c	24 Mar 2006 20:13:21 -0000
> @@ -535,9 +535,24 @@ ClippedRegionFromBox(register WindowPtr 
>      REGION_INTERSECT(pScreen, Rgn, Rgn, &pWin->winSize);
>  }
>  
> +#ifdef COMPOSITE
> +#include "compint.h"
> +#endif
> +
> +static RealChildHeadProc realChildHeadProc;
> +
> +void
> +RegisterRealChildHeadProc (RealChildHeadProc proc)
> +{
> +    realChildHeadProc = proc;
> +}
> +
>  WindowPtr
>  RealChildHead(register WindowPtr pWin)
>  {
> +    if (realChildHeadProc)
> +	return realChildHeadProc (pWin);
> +    
>      if (!pWin->parent &&
>  	(screenIsSaved == SCREEN_SAVER_ON) &&
>  	(HasSaverWindow (pWin->drawable.pScreen->myNum)))
> Index: include/window.h
> ===================================================================
> RCS file: /cvs/xorg/xserver/xorg/include/window.h,v
> retrieving revision 1.10
> diff -u -p -u -r1.10 window.h
> --- include/window.h	12 Jan 2006 22:14:56 -0000	1.10
> +++ include/window.h	24 Mar 2006 20:13:21 -0000
> @@ -102,6 +102,10 @@ extern void ClippedRegionFromBox(
>      int /*w*/,
>      int /*h*/);
>  
> +typedef WindowPtr (* RealChildHeadProc) (WindowPtr pWin);
> +
> +void RegisterRealChildHeadProc (RealChildHeadProc proc);
> +
>  extern WindowPtr RealChildHead(
>      WindowPtr /*pWin*/);
>  




More information about the xorg mailing list