Nominated as fdo2546-2005. --- ./xc/programs/Xserver/hw/xnest/Window.c.xnest-shape-ext-update-regions 2005-02-15 13:13:59.000000000 +0000 +++ ./xc/programs/Xserver/hw/xnest/Window.c 2005-02-15 13:16:30.000000000 +0000 @@ -449,6 +449,13 @@ } #ifdef SHAPE +void +xnestSetShape(WindowPtr pWin) +{ + xnestShapeWindow(pWin); + miSetShape(pWin); +} + static Bool xnestRegionEqual(RegionPtr pReg1, RegionPtr pReg2) { --- ./xc/programs/Xserver/hw/xnest/Screen.c.xnest-shape-ext-update-regions 2005-02-15 13:14:24.000000000 +0000 +++ ./xc/programs/Xserver/hw/xnest/Screen.c 2005-02-15 13:05:11.000000000 +0000 @@ -360,6 +360,11 @@ if (!miScreenDevPrivateInit(pScreen, xnestWidth, NULL)) return FALSE; +#ifdef SHAPE + /* overwrite miSetShape with our own */ + pScreen->SetShape = xnestSetShape; +#endif /* SHAPE */ + /* devPrivates */ #define POSITION_OFFSET (pScreen->myNum * (xnestWidth + xnestHeight) / 32) --- ./xc/programs/Xserver/hw/xnest/XNWindow.h.xnest-shape-ext-update-regions 2005-02-15 13:14:12.000000000 +0000 +++ ./xc/programs/Xserver/hw/xnest/XNWindow.h 2005-02-15 12:55:49.000000000 +0000 @@ -73,6 +73,7 @@ void xnestWindowExposures(WindowPtr pWin, RegionPtr pRgn, RegionPtr other_exposed); #ifdef SHAPE +void xnestSetShape(WindowPtr pWin); void xnestShapeWindow(WindowPtr pWin); #endif /* SHAPE */