Commit 9d021352 authored by Keith Packard's avatar Keith Packard
Browse files

Paint to parent window instead of parent window's pixmap (helps for servers

    that don't have a pixmap for the root)
Fix offsets for render drawing.
parent c7bc76f6
......@@ -648,7 +648,6 @@ compWindowUpdateAutomatic (WindowPtr pWin)
ScreenPtr pScreen = pWin->drawable.pScreen;
WindowPtr pParent = pWin->parent;
PixmapPtr pSrcPixmap = (*pScreen->GetWindowPixmap) (pWin);
PixmapPtr pDstPixmap = (*pScreen->GetWindowPixmap) (pParent);
PictFormatPtr pSrcFormat = compWindowFormat (pWin);
PictFormatPtr pDstFormat = compWindowFormat (pWin->parent);
int error;
......@@ -658,9 +657,11 @@ compWindowUpdateAutomatic (WindowPtr pWin)
0, 0,
serverClient,
&error);
PicturePtr pDstPicture = CreatePicture (0, &pDstPixmap->drawable,
XID subwindowMode = IncludeInferiors;
PicturePtr pDstPicture = CreatePicture (0, &pParent->drawable,
pDstFormat,
0, 0,
CPSubwindowMode,
&subwindowMode,
serverClient,
&error);
......@@ -679,8 +680,8 @@ compWindowUpdateAutomatic (WindowPtr pWin)
0,
0,
0, 0,
pSrcPixmap->screen_x - pDstPixmap->screen_x,
pSrcPixmap->screen_y - pDstPixmap->screen_y,
pSrcPixmap->screen_x - pParent->drawable.x,
pSrcPixmap->screen_y - pParent->drawable.y,
pSrcPixmap->drawable.width,
pSrcPixmap->drawable.height);
FreePicture (pSrcPicture, 0);
......
......@@ -106,8 +106,8 @@ cwGetBackingPicture (PicturePtr pPicture, int *x_off, int *y_off)
WindowPtr pWin = (WindowPtr) pDrawable;
PixmapPtr pPixmap = (*pScreen->GetWindowPixmap) (pWin);
*x_off = pPixmap->drawable.x - pPixmap->screen_x;
*y_off = pPixmap->drawable.y - pPixmap->screen_y;
*x_off = pWin->drawable.x - pPixmap->screen_x;
*y_off = pWin->drawable.y - pPixmap->screen_y;
return pBackingPicture;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment