REGION_INIT(pWin->drawable.pScreen, &rgnDst, NullBox, 0);
REGION_NULL(pWin->drawable.pScreen, &rgnDst);
pxCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc){	pxScreenPrivPtr sp;	DDXPointPtr pptSrc;	DDXPointPtr ppt;	RegionRec rgnDst;	BoxPtr pbox;	int dx, dy, i, nbox;	WindowPtr pwinRoot;	extern WindowPtr *WindowTable;	PX_TRACE("pxCopyWindow");	sp = pWin->drawable.pScreen->devPrivates[pxScreenPrivateIndex].ptr;	pwinRoot = WindowTable[pWin->drawable.pScreen->myNum];	REGION_INIT(pWin->drawable.pScreen, &rgnDst, NullBox, 0);	dx = ptOldOrg.x - pWin->drawable.x;	dy = ptOldOrg.y - pWin->drawable.y;	REGION_TRANSLATE(pWin->drawable.pScreen, prgnSrc, -dx, -dy);	REGION_INTERSECT(pWin->drawable.pScreen, &rgnDst, &pWin->borderClip,	    prgnSrc);	pbox = REGION_RECTS(&rgnDst);	nbox = REGION_NUM_RECTS(&rgnDst);	i = nbox * sizeof(*ppt);	if (!nbox || !(pptSrc = (DDXPointPtr )ALLOCATE_LOCAL(i))) {		REGION_UNINIT(pWin->drawable.pScreen, &rgnDst);		return;	}	ppt = pptSrc;	for (i = nbox; i > 0; ppt++, pbox++, i--) {		ppt->x = pbox->x1 + dx;		ppt->y = pbox->y1 + dy;	}	pxDoBitblt((DrawablePtr)pwinRoot, (DrawablePtr)pwinRoot,	    GXcopy, &rgnDst, pptSrc, ~0L);	DEALLOCATE_LOCAL(pptSrc);	REGION_UNINIT(pWin->drawable.pScreen, &rgnDst);}