summaryrefslogtreecommitdiff
path: root/fb/fbwindow.c
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2004-08-11 22:40:14 +0000
committerKeith Packard <keithp@keithp.com>2004-08-11 22:40:14 +0000
commitfd439afdfe7ba451aff19b62d1764e4dfd0b782f (patch)
treeef70f8b2e726f132b3fe089f6fc02f5770149517 /fb/fbwindow.c
parentf95293e5253904883d3b40f9e68e6175247754a3 (diff)
Add COMPOSITE change to fbCopyWindow (not needed yet)
Xnest was half-using midispcur and doing a bad job of it. Replace all of that code with mipointer which does a lot of the work. Support DDXen which don't provide GetWindowPixmap, or which return NULL for the root pixmap.
Diffstat (limited to 'fb/fbwindow.c')
-rw-r--r--fb/fbwindow.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/fb/fbwindow.c b/fb/fbwindow.c
index dd775cc0c..1666dfe16 100644
--- a/fb/fbwindow.c
+++ b/fb/fbwindow.c
@@ -1,4 +1,4 @@
-/* $XdotOrg$ */
+/* $XdotOrg: xc/programs/Xserver/fb/fbwindow.c,v 1.2 2004/04/23 19:05:14 eich Exp $ */
/*
* Id: fbwindow.c,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
@@ -123,6 +123,9 @@ fbCopyWindow(WindowPtr pWin,
RegionRec rgnDst;
int dx, dy;
WindowPtr pwinRoot;
+#ifdef COMPOSITE
+ PixmapPtr pPixmap = fbGetWindowPixmap (pWin);
+#endif
pwinRoot = WindowTable[pWin->drawable.pScreen->myNum];
@@ -134,6 +137,12 @@ fbCopyWindow(WindowPtr pWin,
REGION_INTERSECT(pWin->drawable.pScreen, &rgnDst, &pWin->borderClip, prgnSrc);
+#ifdef COMPOSITE
+ if (pPixmap->screen_x || pPixmap->screen_y)
+ REGION_TRANSLATE (pWin->drawable.pScreen, &rgnDst,
+ -pPixmap->screen_x, -pPixmap->screen_y);
+#endif
+
fbCopyRegion ((DrawablePtr)pwinRoot, (DrawablePtr)pwinRoot,
0,
&rgnDst, dx, dy, fbCopyWindowProc, 0, 0);