diff options
author | Keith Packard <keithp@keithp.com> | 2004-08-12 00:09:30 +0000 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2004-08-12 00:09:30 +0000 |
commit | 9d0213525f4f692c250f10309146fe9db76ba12d (patch) | |
tree | 77df2a4d28294ec8e074a32f8205535668f4f629 | |
parent | c7bc76f663008119b3681d4b7adef7dc9ffdc236 (diff) |
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.
-rw-r--r-- | composite/compwindow.c | 11 | ||||
-rw-r--r-- | miext/cw/cw_render.c | 4 |
2 files changed, 8 insertions, 7 deletions
diff --git a/composite/compwindow.c b/composite/compwindow.c index ec63fbcb1..5adc5efc8 100644 --- a/composite/compwindow.c +++ b/composite/compwindow.c @@ -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); diff --git a/miext/cw/cw_render.c b/miext/cw/cw_render.c index 9e9ad3a3f..8e4ae9cdd 100644 --- a/miext/cw/cw_render.c +++ b/miext/cw/cw_render.c @@ -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; } |