dix: Drop the third argument from WindowExposuresProcPtr
A careful read shows that it was always NULL. It hasn't always been; as the DDX spec indicates, it was the "occluded region that has backing store", but since that backing store code is long gone, we can nuke it. mi{,Overlay}WindowExposures get slightly simpler here, and will get even simpler in just a moment. Reviewed-by: Julien Cristau <jcristau@debian.org> Signed-off-by: Adam Jackson <ajax@redhat.com>
This commit is contained in:
parent
e2a3e91a56
commit
0d30d44a8c
|
@ -2601,7 +2601,7 @@ MapWindow(WindowPtr pWin, ClientPtr client)
|
||||||
(*pScreen->PostValidateTree) (NullWindow, pWin, VTMap);
|
(*pScreen->PostValidateTree) (NullWindow, pWin, VTMap);
|
||||||
RegionNull(&temp);
|
RegionNull(&temp);
|
||||||
RegionCopy(&temp, &pWin->clipList);
|
RegionCopy(&temp, &pWin->clipList);
|
||||||
(*pScreen->WindowExposures) (pWin, &temp, NullRegion);
|
(*pScreen->WindowExposures) (pWin, &temp);
|
||||||
RegionUninit(&temp);
|
RegionUninit(&temp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -240,12 +240,11 @@ fbOverlayCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
fbOverlayWindowExposures(WindowPtr pWin,
|
fbOverlayWindowExposures(WindowPtr pWin, RegionPtr prgn)
|
||||||
RegionPtr prgn, RegionPtr other_exposed)
|
|
||||||
{
|
{
|
||||||
fbOverlayUpdateLayerRegion(pWin->drawable.pScreen,
|
fbOverlayUpdateLayerRegion(pWin->drawable.pScreen,
|
||||||
fbOverlayWindowLayer(pWin), prgn);
|
fbOverlayWindowLayer(pWin), prgn);
|
||||||
miWindowExposures(pWin, prgn, other_exposed);
|
miWindowExposures(pWin, prgn);
|
||||||
}
|
}
|
||||||
|
|
||||||
Bool
|
Bool
|
||||||
|
|
|
@ -82,9 +82,7 @@ extern _X_EXPORT void
|
||||||
fbOverlayCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc);
|
fbOverlayCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc);
|
||||||
|
|
||||||
extern _X_EXPORT void
|
extern _X_EXPORT void
|
||||||
|
fbOverlayWindowExposures(WindowPtr pWin, RegionPtr prgn);
|
||||||
fbOverlayWindowExposures(WindowPtr pWin,
|
|
||||||
RegionPtr prgn, RegionPtr other_exposed);
|
|
||||||
|
|
||||||
extern _X_EXPORT Bool
|
extern _X_EXPORT Bool
|
||||||
|
|
||||||
|
|
|
@ -772,7 +772,7 @@ dmxWindowExposurePredicate(Display * dpy, XEvent * ev, XPointer ptr)
|
||||||
* in DMX, the events that are generated by the back-end server are
|
* in DMX, the events that are generated by the back-end server are
|
||||||
* redundant, so we eat them here. */
|
* redundant, so we eat them here. */
|
||||||
void
|
void
|
||||||
dmxWindowExposures(WindowPtr pWindow, RegionPtr prgn, RegionPtr other_exposed)
|
dmxWindowExposures(WindowPtr pWindow, RegionPtr prgn)
|
||||||
{
|
{
|
||||||
ScreenPtr pScreen = pWindow->drawable.pScreen;
|
ScreenPtr pScreen = pWindow->drawable.pScreen;
|
||||||
DMXScreenInfo *dmxScreen = &dmxScreens[pScreen->myNum];
|
DMXScreenInfo *dmxScreen = &dmxScreens[pScreen->myNum];
|
||||||
|
@ -799,7 +799,7 @@ dmxWindowExposures(WindowPtr pWindow, RegionPtr prgn, RegionPtr other_exposed)
|
||||||
|
|
||||||
#if 1
|
#if 1
|
||||||
if (pScreen->WindowExposures)
|
if (pScreen->WindowExposures)
|
||||||
pScreen->WindowExposures(pWindow, prgn, other_exposed);
|
pScreen->WindowExposures(pWindow, prgn);
|
||||||
#endif
|
#endif
|
||||||
DMX_WRAP(WindowExposures, dmxWindowExposures, dmxScreen, pScreen);
|
DMX_WRAP(WindowExposures, dmxWindowExposures, dmxScreen, pScreen);
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,8 +73,7 @@ extern Bool dmxChangeWindowAttributes(WindowPtr pWindow, unsigned long mask);
|
||||||
extern Bool dmxRealizeWindow(WindowPtr pWindow);
|
extern Bool dmxRealizeWindow(WindowPtr pWindow);
|
||||||
extern Bool dmxUnrealizeWindow(WindowPtr pWindow);
|
extern Bool dmxUnrealizeWindow(WindowPtr pWindow);
|
||||||
extern void dmxRestackWindow(WindowPtr pWindow, WindowPtr pOldNextSib);
|
extern void dmxRestackWindow(WindowPtr pWindow, WindowPtr pOldNextSib);
|
||||||
extern void dmxWindowExposures(WindowPtr pWindow, RegionPtr prgn,
|
extern void dmxWindowExposures(WindowPtr pWindow, RegionPtr prgn);
|
||||||
RegionPtr other_exposed);
|
|
||||||
extern void dmxCopyWindow(WindowPtr pWindow, DDXPointRec ptOldOrg,
|
extern void dmxCopyWindow(WindowPtr pWindow, DDXPointRec ptOldOrg,
|
||||||
RegionPtr prgnSrc);
|
RegionPtr prgnSrc);
|
||||||
|
|
||||||
|
|
|
@ -878,7 +878,7 @@ ephyrExposePairedWindow(int a_remote)
|
||||||
screen = pair->local->drawable.pScreen;
|
screen = pair->local->drawable.pScreen;
|
||||||
RegionNull(®);
|
RegionNull(®);
|
||||||
RegionCopy(®, &pair->local->clipList);
|
RegionCopy(®, &pair->local->clipList);
|
||||||
screen->WindowExposures(pair->local, ®, NullRegion);
|
screen->WindowExposures(pair->local, ®);
|
||||||
RegionUninit(®);
|
RegionUninit(®);
|
||||||
}
|
}
|
||||||
#endif /* XF86DRI */
|
#endif /* XF86DRI */
|
||||||
|
|
|
@ -86,7 +86,7 @@ static int KdXVQueryImageAttributes(XvPortPtr, XvImagePtr,
|
||||||
/* ScreenRec fields */
|
/* ScreenRec fields */
|
||||||
|
|
||||||
static Bool KdXVDestroyWindow(WindowPtr pWin);
|
static Bool KdXVDestroyWindow(WindowPtr pWin);
|
||||||
static void KdXVWindowExposures(WindowPtr pWin, RegionPtr r1, RegionPtr r2);
|
static void KdXVWindowExposures(WindowPtr pWin, RegionPtr r1);
|
||||||
static void KdXVClipNotify(WindowPtr pWin, int dx, int dy);
|
static void KdXVClipNotify(WindowPtr pWin, int dx, int dy);
|
||||||
static Bool KdXVCloseScreen(ScreenPtr);
|
static Bool KdXVCloseScreen(ScreenPtr);
|
||||||
|
|
||||||
|
@ -822,7 +822,7 @@ KdXVDestroyWindow(WindowPtr pWin)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
KdXVWindowExposures(WindowPtr pWin, RegionPtr reg1, RegionPtr reg2)
|
KdXVWindowExposures(WindowPtr pWin, RegionPtr reg1)
|
||||||
{
|
{
|
||||||
ScreenPtr pScreen = pWin->drawable.pScreen;
|
ScreenPtr pScreen = pWin->drawable.pScreen;
|
||||||
KdXVScreenPtr ScreenPriv = GET_KDXV_SCREEN(pScreen);
|
KdXVScreenPtr ScreenPriv = GET_KDXV_SCREEN(pScreen);
|
||||||
|
@ -834,7 +834,7 @@ KdXVWindowExposures(WindowPtr pWin, RegionPtr reg1, RegionPtr reg2)
|
||||||
AreasExposed = (WinPriv && reg1 && RegionNotEmpty(reg1));
|
AreasExposed = (WinPriv && reg1 && RegionNotEmpty(reg1));
|
||||||
|
|
||||||
pScreen->WindowExposures = ScreenPriv->WindowExposures;
|
pScreen->WindowExposures = ScreenPriv->WindowExposures;
|
||||||
(*pScreen->WindowExposures) (pWin, reg1, reg2);
|
(*pScreen->WindowExposures) (pWin, reg1);
|
||||||
pScreen->WindowExposures = KdXVWindowExposures;
|
pScreen->WindowExposures = KdXVWindowExposures;
|
||||||
|
|
||||||
/* filter out XClearWindow/Area */
|
/* filter out XClearWindow/Area */
|
||||||
|
|
|
@ -84,7 +84,7 @@ static int xf86XVQueryImageAttributes(XvPortPtr, XvImagePtr,
|
||||||
/* ScreenRec fields */
|
/* ScreenRec fields */
|
||||||
|
|
||||||
static Bool xf86XVDestroyWindow(WindowPtr pWin);
|
static Bool xf86XVDestroyWindow(WindowPtr pWin);
|
||||||
static void xf86XVWindowExposures(WindowPtr pWin, RegionPtr r1, RegionPtr r2);
|
static void xf86XVWindowExposures(WindowPtr pWin, RegionPtr r1);
|
||||||
static void xf86XVPostValidateTree(WindowPtr pWin, WindowPtr pLayerWin,
|
static void xf86XVPostValidateTree(WindowPtr pWin, WindowPtr pLayerWin,
|
||||||
VTKind kind);
|
VTKind kind);
|
||||||
static void xf86XVClipNotify(WindowPtr pWin, int dx, int dy);
|
static void xf86XVClipNotify(WindowPtr pWin, int dx, int dy);
|
||||||
|
@ -1048,7 +1048,7 @@ xf86XVPostValidateTree(WindowPtr pWin, WindowPtr pLayerWin, VTKind kind)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
xf86XVWindowExposures(WindowPtr pWin, RegionPtr reg1, RegionPtr reg2)
|
xf86XVWindowExposures(WindowPtr pWin, RegionPtr reg1)
|
||||||
{
|
{
|
||||||
ScreenPtr pScreen = pWin->drawable.pScreen;
|
ScreenPtr pScreen = pWin->drawable.pScreen;
|
||||||
XF86XVScreenPtr ScreenPriv = GET_XF86XV_SCREEN(pScreen);
|
XF86XVScreenPtr ScreenPriv = GET_XF86XV_SCREEN(pScreen);
|
||||||
|
@ -1059,7 +1059,7 @@ xf86XVWindowExposures(WindowPtr pWin, RegionPtr reg1, RegionPtr reg2)
|
||||||
AreasExposed = (WinPriv && reg1 && RegionNotEmpty(reg1));
|
AreasExposed = (WinPriv && reg1 && RegionNotEmpty(reg1));
|
||||||
|
|
||||||
pScreen->WindowExposures = ScreenPriv->WindowExposures;
|
pScreen->WindowExposures = ScreenPriv->WindowExposures;
|
||||||
(*pScreen->WindowExposures) (pWin, reg1, reg2);
|
(*pScreen->WindowExposures) (pWin, reg1);
|
||||||
pScreen->WindowExposures = xf86XVWindowExposures;
|
pScreen->WindowExposures = xf86XVWindowExposures;
|
||||||
|
|
||||||
/* filter out XClearWindow/Area */
|
/* filter out XClearWindow/Area */
|
||||||
|
|
|
@ -1828,7 +1828,7 @@ DRIGetContextStore(DRIContextPrivPtr context)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
DRIWindowExposures(WindowPtr pWin, RegionPtr prgn, RegionPtr bsreg)
|
DRIWindowExposures(WindowPtr pWin, RegionPtr prgn)
|
||||||
{
|
{
|
||||||
ScreenPtr pScreen = pWin->drawable.pScreen;
|
ScreenPtr pScreen = pWin->drawable.pScreen;
|
||||||
DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
|
DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
|
||||||
|
@ -1846,7 +1846,7 @@ DRIWindowExposures(WindowPtr pWin, RegionPtr prgn, RegionPtr bsreg)
|
||||||
pScreen->WindowExposures = pDRIPriv->wrap.WindowExposures;
|
pScreen->WindowExposures = pDRIPriv->wrap.WindowExposures;
|
||||||
|
|
||||||
/* call lower layers */
|
/* call lower layers */
|
||||||
(*pScreen->WindowExposures) (pWin, prgn, bsreg);
|
(*pScreen->WindowExposures) (pWin, prgn);
|
||||||
|
|
||||||
/* rewrap */
|
/* rewrap */
|
||||||
pDRIPriv->wrap.WindowExposures = pScreen->WindowExposures;
|
pDRIPriv->wrap.WindowExposures = pScreen->WindowExposures;
|
||||||
|
|
|
@ -280,8 +280,7 @@ extern _X_EXPORT void DRISwapContext(int drmFD, void *oldctx, void *newctx);
|
||||||
|
|
||||||
extern _X_EXPORT void *DRIGetContextStore(DRIContextPrivPtr context);
|
extern _X_EXPORT void *DRIGetContextStore(DRIContextPrivPtr context);
|
||||||
|
|
||||||
extern _X_EXPORT void DRIWindowExposures(WindowPtr pWin,
|
extern _X_EXPORT void DRIWindowExposures(WindowPtr pWin, RegionPtr prgn);
|
||||||
RegionPtr prgn, RegionPtr bsreg);
|
|
||||||
|
|
||||||
extern _X_EXPORT Bool DRIDestroyWindow(WindowPtr pWin);
|
extern _X_EXPORT Bool DRIDestroyWindow(WindowPtr pWin);
|
||||||
|
|
||||||
|
|
|
@ -386,7 +386,7 @@ xnestWindowExposurePredicate(Display * dpy, XEvent * event, XPointer ptr)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
xnestWindowExposures(WindowPtr pWin, RegionPtr pRgn, RegionPtr other_exposed)
|
xnestWindowExposures(WindowPtr pWin, RegionPtr pRgn)
|
||||||
{
|
{
|
||||||
XEvent event;
|
XEvent event;
|
||||||
Window window;
|
Window window;
|
||||||
|
@ -410,7 +410,7 @@ xnestWindowExposures(WindowPtr pWin, RegionPtr pRgn, RegionPtr other_exposed)
|
||||||
XPutBackEvent(xnestDisplay, &event);
|
XPutBackEvent(xnestDisplay, &event);
|
||||||
}
|
}
|
||||||
|
|
||||||
miWindowExposures(pWin, pRgn, other_exposed);
|
miWindowExposures(pWin, pRgn);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -66,8 +66,7 @@ Bool xnestRealizeWindow(WindowPtr pWin);
|
||||||
Bool xnestUnrealizeWindow(WindowPtr pWin);
|
Bool xnestUnrealizeWindow(WindowPtr pWin);
|
||||||
void xnestCopyWindow(WindowPtr pWin, xPoint oldOrigin, RegionPtr oldRegion);
|
void xnestCopyWindow(WindowPtr pWin, xPoint oldOrigin, RegionPtr oldRegion);
|
||||||
void xnestClipNotify(WindowPtr pWin, int dx, int dy);
|
void xnestClipNotify(WindowPtr pWin, int dx, int dy);
|
||||||
void xnestWindowExposures(WindowPtr pWin, RegionPtr pRgn,
|
void xnestWindowExposures(WindowPtr pWin, RegionPtr pRgn);
|
||||||
RegionPtr other_exposed);
|
|
||||||
void xnestSetShape(WindowPtr pWin, int kind);
|
void xnestSetShape(WindowPtr pWin, int kind);
|
||||||
void xnestShapeWindow(WindowPtr pWin);
|
void xnestShapeWindow(WindowPtr pWin);
|
||||||
|
|
||||||
|
|
|
@ -155,8 +155,7 @@ typedef void (*PostValidateTreeProcPtr) (WindowPtr /*pParent */ ,
|
||||||
VTKind /*kind */ );
|
VTKind /*kind */ );
|
||||||
|
|
||||||
typedef void (*WindowExposuresProcPtr) (WindowPtr /*pWindow */ ,
|
typedef void (*WindowExposuresProcPtr) (WindowPtr /*pWindow */ ,
|
||||||
RegionPtr /*prgn */ ,
|
RegionPtr /*prgn */);
|
||||||
RegionPtr /*other_exposed */ );
|
|
||||||
|
|
||||||
typedef void (*CopyWindowProcPtr) (WindowPtr /*pWindow */ ,
|
typedef void (*CopyWindowProcPtr) (WindowPtr /*pWindow */ ,
|
||||||
DDXPointRec /*ptOldOrg */ ,
|
DDXPointRec /*ptOldOrg */ ,
|
||||||
|
|
4
mi/mi.h
4
mi/mi.h
|
@ -247,9 +247,7 @@ extern _X_EXPORT void miSendExposures(WindowPtr /*pWin */ ,
|
||||||
);
|
);
|
||||||
|
|
||||||
extern _X_EXPORT void miWindowExposures(WindowPtr /*pWin */ ,
|
extern _X_EXPORT void miWindowExposures(WindowPtr /*pWin */ ,
|
||||||
RegionPtr /*prgn */ ,
|
RegionPtr /*prgn */);
|
||||||
RegionPtr /*other_exposed */
|
|
||||||
);
|
|
||||||
|
|
||||||
extern _X_EXPORT void miPaintWindow(WindowPtr /*pWin */ ,
|
extern _X_EXPORT void miPaintWindow(WindowPtr /*pWin */ ,
|
||||||
RegionPtr /*prgn */ ,
|
RegionPtr /*prgn */ ,
|
||||||
|
|
|
@ -421,12 +421,11 @@ miSendExposures(WindowPtr pWin, RegionPtr pRgn, int dx, int dy)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
miWindowExposures(WindowPtr pWin, RegionPtr prgn, RegionPtr other_exposed)
|
miWindowExposures(WindowPtr pWin, RegionPtr prgn)
|
||||||
{
|
{
|
||||||
RegionPtr exposures = prgn;
|
RegionPtr exposures = prgn;
|
||||||
|
|
||||||
if ((prgn && !RegionNil(prgn)) ||
|
if ((prgn && !RegionNil(prgn)) || (exposures && !RegionNil(exposures))) {
|
||||||
(exposures && !RegionNil(exposures)) || other_exposed) {
|
|
||||||
RegionRec expRec;
|
RegionRec expRec;
|
||||||
int clientInterested;
|
int clientInterested;
|
||||||
|
|
||||||
|
@ -435,14 +434,6 @@ miWindowExposures(WindowPtr pWin, RegionPtr prgn, RegionPtr other_exposed)
|
||||||
*/
|
*/
|
||||||
clientInterested =
|
clientInterested =
|
||||||
(pWin->eventMask | wOtherEventMasks(pWin)) & ExposureMask;
|
(pWin->eventMask | wOtherEventMasks(pWin)) & ExposureMask;
|
||||||
if (other_exposed) {
|
|
||||||
if (exposures) {
|
|
||||||
RegionUnion(other_exposed, exposures, other_exposed);
|
|
||||||
if (exposures != prgn)
|
|
||||||
RegionDestroy(exposures);
|
|
||||||
}
|
|
||||||
exposures = other_exposed;
|
|
||||||
}
|
|
||||||
if (clientInterested && exposures &&
|
if (clientInterested && exposures &&
|
||||||
(RegionNumRects(exposures) > RECTLIMIT)) {
|
(RegionNumRects(exposures) > RECTLIMIT)) {
|
||||||
/*
|
/*
|
||||||
|
@ -474,7 +465,7 @@ miWindowExposures(WindowPtr pWin, RegionPtr prgn, RegionPtr other_exposed)
|
||||||
if (exposures == &expRec) {
|
if (exposures == &expRec) {
|
||||||
RegionUninit(exposures);
|
RegionUninit(exposures);
|
||||||
}
|
}
|
||||||
else if (exposures && exposures != prgn && exposures != other_exposed)
|
else if (exposures && exposures != prgn)
|
||||||
RegionDestroy(exposures);
|
RegionDestroy(exposures);
|
||||||
if (prgn)
|
if (prgn)
|
||||||
RegionEmpty(prgn);
|
RegionEmpty(prgn);
|
||||||
|
|
|
@ -79,7 +79,7 @@ static void miOverlayMarkUnrealizedWindow(WindowPtr, WindowPtr, Bool);
|
||||||
static int miOverlayValidateTree(WindowPtr, WindowPtr, VTKind);
|
static int miOverlayValidateTree(WindowPtr, WindowPtr, VTKind);
|
||||||
static void miOverlayHandleExposures(WindowPtr);
|
static void miOverlayHandleExposures(WindowPtr);
|
||||||
static void miOverlayMoveWindow(WindowPtr, int, int, WindowPtr, VTKind);
|
static void miOverlayMoveWindow(WindowPtr, int, int, WindowPtr, VTKind);
|
||||||
static void miOverlayWindowExposures(WindowPtr, RegionPtr, RegionPtr);
|
static void miOverlayWindowExposures(WindowPtr, RegionPtr);
|
||||||
static void miOverlayResizeWindow(WindowPtr, int, int, unsigned int,
|
static void miOverlayResizeWindow(WindowPtr, int, int, unsigned int,
|
||||||
unsigned int, WindowPtr);
|
unsigned int, WindowPtr);
|
||||||
static void miOverlayClearToBackground(WindowPtr, int, int, int, int, Bool);
|
static void miOverlayClearToBackground(WindowPtr, int, int, int, int, Bool);
|
||||||
|
@ -827,7 +827,7 @@ miOverlayHandleExposures(WindowPtr pWin)
|
||||||
miOverlayScreenPtr pPriv = MIOVERLAY_GET_SCREEN_PRIVATE(pScreen);
|
miOverlayScreenPtr pPriv = MIOVERLAY_GET_SCREEN_PRIVATE(pScreen);
|
||||||
WindowPtr pChild;
|
WindowPtr pChild;
|
||||||
ValidatePtr val;
|
ValidatePtr val;
|
||||||
void (*WindowExposures) (WindowPtr, RegionPtr, RegionPtr);
|
WindowExposuresProcPtr WindowExposures;
|
||||||
|
|
||||||
WindowExposures = pWin->drawable.pScreen->WindowExposures;
|
WindowExposures = pWin->drawable.pScreen->WindowExposures;
|
||||||
if (pPriv->underlayMarked) {
|
if (pPriv->underlayMarked) {
|
||||||
|
@ -849,8 +849,7 @@ miOverlayHandleExposures(WindowPtr pWin)
|
||||||
}
|
}
|
||||||
RegionUninit(&mival->borderExposed);
|
RegionUninit(&mival->borderExposed);
|
||||||
|
|
||||||
(*WindowExposures) (pTree->pWin, &mival->exposed,
|
(*WindowExposures) (pTree->pWin, &mival->exposed);
|
||||||
NullRegion);
|
|
||||||
RegionUninit(&mival->exposed);
|
RegionUninit(&mival->exposed);
|
||||||
}
|
}
|
||||||
free(mival);
|
free(mival);
|
||||||
|
@ -886,7 +885,7 @@ miOverlayHandleExposures(WindowPtr pWin)
|
||||||
if (RegionNotEmpty(&val->after.borderExposed)) {
|
if (RegionNotEmpty(&val->after.borderExposed)) {
|
||||||
miPaintWindow(pChild, &val->after.borderExposed, PW_BORDER);
|
miPaintWindow(pChild, &val->after.borderExposed, PW_BORDER);
|
||||||
}
|
}
|
||||||
(*WindowExposures) (pChild, &val->after.exposed, NullRegion);
|
(*WindowExposures) (pChild, &val->after.exposed);
|
||||||
}
|
}
|
||||||
RegionUninit(&val->after.borderExposed);
|
RegionUninit(&val->after.borderExposed);
|
||||||
RegionUninit(&val->after.exposed);
|
RegionUninit(&val->after.exposed);
|
||||||
|
@ -980,26 +979,16 @@ miOverlayMoveWindow(WindowPtr pWin,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void
|
static void
|
||||||
miOverlayWindowExposures(WindowPtr pWin,
|
miOverlayWindowExposures(WindowPtr pWin, RegionPtr prgn)
|
||||||
RegionPtr prgn, RegionPtr other_exposed)
|
|
||||||
{
|
{
|
||||||
RegionPtr exposures = prgn;
|
RegionPtr exposures = prgn;
|
||||||
|
|
||||||
if ((prgn && !RegionNil(prgn)) ||
|
if ((prgn && !RegionNil(prgn)) || (exposures && !RegionNil(exposures))) {
|
||||||
(exposures && !RegionNil(exposures)) || other_exposed) {
|
|
||||||
RegionRec expRec;
|
RegionRec expRec;
|
||||||
int clientInterested;
|
int clientInterested;
|
||||||
|
|
||||||
clientInterested = (pWin->eventMask | wOtherEventMasks(pWin)) &
|
clientInterested = (pWin->eventMask | wOtherEventMasks(pWin)) &
|
||||||
ExposureMask;
|
ExposureMask;
|
||||||
if (other_exposed) {
|
|
||||||
if (exposures) {
|
|
||||||
RegionUnion(other_exposed, exposures, other_exposed);
|
|
||||||
if (exposures != prgn)
|
|
||||||
RegionDestroy(exposures);
|
|
||||||
}
|
|
||||||
exposures = other_exposed;
|
|
||||||
}
|
|
||||||
if (clientInterested && exposures &&
|
if (clientInterested && exposures &&
|
||||||
(RegionNumRects(exposures) > RECTLIMIT)) {
|
(RegionNumRects(exposures) > RECTLIMIT)) {
|
||||||
ScreenPtr pScreen = pWin->drawable.pScreen;
|
ScreenPtr pScreen = pWin->drawable.pScreen;
|
||||||
|
@ -1035,7 +1024,7 @@ miOverlayWindowExposures(WindowPtr pWin,
|
||||||
if (exposures == &expRec) {
|
if (exposures == &expRec) {
|
||||||
RegionUninit(exposures);
|
RegionUninit(exposures);
|
||||||
}
|
}
|
||||||
else if (exposures && exposures != prgn && exposures != other_exposed)
|
else if (exposures && exposures != prgn)
|
||||||
RegionDestroy(exposures);
|
RegionDestroy(exposures);
|
||||||
if (prgn)
|
if (prgn)
|
||||||
RegionEmpty(prgn);
|
RegionEmpty(prgn);
|
||||||
|
@ -1592,7 +1581,6 @@ miOverlayClearToBackground(WindowPtr pWin,
|
||||||
miOverlayTreePtr pTree = MIOVERLAY_GET_WINDOW_TREE(pWin);
|
miOverlayTreePtr pTree = MIOVERLAY_GET_WINDOW_TREE(pWin);
|
||||||
BoxRec box;
|
BoxRec box;
|
||||||
RegionRec reg;
|
RegionRec reg;
|
||||||
RegionPtr pBSReg = NullRegion;
|
|
||||||
ScreenPtr pScreen = pWin->drawable.pScreen;
|
ScreenPtr pScreen = pWin->drawable.pScreen;
|
||||||
miOverlayScreenPtr pScreenPriv = MIOVERLAY_GET_SCREEN_PRIVATE(pScreen);
|
miOverlayScreenPtr pScreenPriv = MIOVERLAY_GET_SCREEN_PRIVATE(pScreen);
|
||||||
RegionPtr clipList;
|
RegionPtr clipList;
|
||||||
|
@ -1636,12 +1624,10 @@ miOverlayClearToBackground(WindowPtr pWin,
|
||||||
|
|
||||||
RegionIntersect(®, ®, clipList);
|
RegionIntersect(®, ®, clipList);
|
||||||
if (generateExposures)
|
if (generateExposures)
|
||||||
(*pScreen->WindowExposures) (pWin, ®, pBSReg);
|
(*pScreen->WindowExposures) (pWin, ®);
|
||||||
else if (pWin->backgroundState != None)
|
else if (pWin->backgroundState != None)
|
||||||
miPaintWindow(pWin, ®, PW_BACKGROUND);
|
miPaintWindow(pWin, ®, PW_BACKGROUND);
|
||||||
RegionUninit(®);
|
RegionUninit(®);
|
||||||
if (pBSReg)
|
|
||||||
RegionDestroy(pBSReg);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************/
|
/****************************************************************/
|
||||||
|
|
|
@ -111,7 +111,7 @@ miClearToBackground(WindowPtr pWin,
|
||||||
|
|
||||||
RegionIntersect(®, ®, &pWin->clipList);
|
RegionIntersect(®, ®, &pWin->clipList);
|
||||||
if (generateExposures)
|
if (generateExposures)
|
||||||
(*pWin->drawable.pScreen->WindowExposures) (pWin, ®, NULL);
|
(*pWin->drawable.pScreen->WindowExposures) (pWin, ®);
|
||||||
else if (pWin->backgroundState != None)
|
else if (pWin->backgroundState != None)
|
||||||
miPaintWindow(pWin, ®, PW_BACKGROUND);
|
miPaintWindow(pWin, ®, PW_BACKGROUND);
|
||||||
RegionUninit(®);
|
RegionUninit(®);
|
||||||
|
@ -221,7 +221,7 @@ miHandleValidateExposures(WindowPtr pWin)
|
||||||
if (RegionNotEmpty(&val->after.borderExposed))
|
if (RegionNotEmpty(&val->after.borderExposed))
|
||||||
miPaintWindow(pChild, &val->after.borderExposed, PW_BORDER);
|
miPaintWindow(pChild, &val->after.borderExposed, PW_BORDER);
|
||||||
RegionUninit(&val->after.borderExposed);
|
RegionUninit(&val->after.borderExposed);
|
||||||
(*WindowExposures) (pChild, &val->after.exposed, NullRegion);
|
(*WindowExposures) (pChild, &val->after.exposed);
|
||||||
RegionUninit(&val->after.exposed);
|
RegionUninit(&val->after.exposed);
|
||||||
free(val);
|
free(val);
|
||||||
pChild->valdata = NULL;
|
pChild->valdata = NULL;
|
||||||
|
|
Loading…
Reference in New Issue