Index: programs/Xserver/miext/cw/cw.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/miext/cw/cw.c,v retrieving revision 1.22 diff -u -r1.22 cw.c --- programs/Xserver/miext/cw/cw.c 3 Jul 2005 07:02:01 -0000 1.22 +++ programs/Xserver/miext/cw/cw.c 28 Sep 2005 20:03:25 -0000 @@ -48,6 +48,7 @@ #ifdef RENDER int cwPictureIndex; #endif +static Bool cwDisabled[MAXSCREENS]; static unsigned long cwGeneration = 0; extern GCOps cwGCOps; @@ -617,6 +618,9 @@ { cwScreenPtr pScreenPriv; + if (cwDisabled[pScreen->myNum]) + return; + if (cwGeneration != serverGeneration) { cwScreenIndex = AllocateScreenPrivateIndex(); @@ -660,6 +664,12 @@ #endif } +void +miDisableCompositeWrapper(ScreenPtr pScreen) +{ + cwDisabled[pScreen->myNum] = TRUE; +} + static Bool cwCloseScreen (int i, ScreenPtr pScreen) { Index: programs/Xserver/miext/cw/cw.h =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/miext/cw/cw.h,v retrieving revision 1.12 diff -u -r1.12 cw.h --- programs/Xserver/miext/cw/cw.h 3 Jul 2005 07:02:01 -0000 1.12 +++ programs/Xserver/miext/cw/cw.h 28 Sep 2005 19:32:11 -0000 @@ -164,5 +164,10 @@ cwFiniRender (ScreenPtr pScreen); /* cw.c */ + void miInitializeCompositeWrapper(ScreenPtr pScreen); + +/* Must be called before miInitializeCompositeWrapper */ +void +miDisableCompositeWrapper(ScreenPtr pScreen); Index: programs/Xserver/hw/xfree86/exa/Imakefile =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/exa/Imakefile,v retrieving revision 1.1 diff -u -r1.1 Imakefile --- programs/Xserver/hw/xfree86/exa/Imakefile 1 Jul 2005 08:56:12 -0000 1.1 +++ programs/Xserver/hw/xfree86/exa/Imakefile 28 Sep 2005 19:37:48 -0000 @@ -16,7 +16,7 @@ INCLUDES = -I$(XF86COMSRC) -I$(XF86OSSRC) -I$(EXTINCSRC) \ -I$(SERVERSRC)/cfb -I$(SERVERSRC)/mfb -I$(SERVERSRC)/mi \ -I$(SERVERSRC)/include -I$(XINCLUDESRC) -I$(FONTINCSRC) \ - -I$(SERVERSRC)/fb \ + -I$(SERVERSRC)/fb -I$(SERVERSRC)/miext/cw \ -I$(SERVERSRC)/Xext -I$(SERVERSRC)/render -I$(SERVERSRC)/randr ModuleObjectRule() Index: programs/Xserver/hw/xfree86/exa/exa.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/exa/exa.c,v retrieving revision 1.23 diff -u -r1.23 exa.c --- programs/Xserver/hw/xfree86/exa/exa.c 28 Sep 2005 20:01:37 -0000 1.23 +++ programs/Xserver/hw/xfree86/exa/exa.c 28 Sep 2005 19:54:34 -0000 @@ -31,6 +31,7 @@ #include "xf86str.h" #include "xf86.h" #include "exa.h" +#include "cw.h" #if DEBUG_MIGRATE #define DBG_MIGRATE(a) ErrorF a @@ -1428,6 +1429,8 @@ } #endif + miDisableCompositeWrapper(pScreen); + /* * Hookup offscreen pixmaps */