xc/programs/Xserver/hw/xnest/Screen.c
xc/programs/Xserver/hw/xnest/Window.c //bugs.freedesktop.org/show_bug.cgi?id=2546) attachment #2005 (https://bugs.freedesktop.org/attachment.cgi?id=2005): Fix Xnest to update the shape regions in the backend server whenever a client changes them in Xnest (the fix is to add a new wrapper which calls |xnestShapeWindow()| before calling |miSetShape()|). Patch by Mark McLoughlin <mark@skynet.ie>
This commit is contained in:
parent
3f79c5eefc
commit
d995fe631a
|
@ -361,6 +361,11 @@ xnestOpenScreen(int index, ScreenPtr pScreen, int argc, char *argv[])
|
|||
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)
|
||||
|
|
|
@ -449,6 +449,13 @@ xnestWindowExposures(WindowPtr pWin, RegionPtr pRgn, RegionPtr other_exposed)
|
|||
}
|
||||
|
||||
#ifdef SHAPE
|
||||
void
|
||||
xnestSetShape(WindowPtr pWin)
|
||||
{
|
||||
xnestShapeWindow(pWin);
|
||||
miSetShape(pWin);
|
||||
}
|
||||
|
||||
static Bool
|
||||
xnestRegionEqual(RegionPtr pReg1, RegionPtr pReg2)
|
||||
{
|
||||
|
|
|
@ -73,6 +73,7 @@ void xnestClipNotify(WindowPtr pWin, int dx, int dy);
|
|||
void xnestWindowExposures(WindowPtr pWin, RegionPtr pRgn,
|
||||
RegionPtr other_exposed);
|
||||
#ifdef SHAPE
|
||||
void xnestSetShape(WindowPtr pWin);
|
||||
void xnestShapeWindow(WindowPtr pWin);
|
||||
#endif /* SHAPE */
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user