diff options
author | marha <marha@users.sourceforge.net> | 2010-09-11 09:26:35 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2010-09-11 09:26:35 +0000 |
commit | 35b29c19707341bbfa32f7f6136ce09e59cb332c (patch) | |
tree | a795242657a2b96a463a11774517472fa4c64953 /xorg-server/composite | |
parent | ba6498fea6d935aff0856f9851cb47d5657952fa (diff) | |
parent | e172c89783326e2378e4793ff31a0f44210c5534 (diff) | |
download | vcxsrv-35b29c19707341bbfa32f7f6136ce09e59cb332c.tar.gz vcxsrv-35b29c19707341bbfa32f7f6136ce09e59cb332c.tar.bz2 vcxsrv-35b29c19707341bbfa32f7f6136ce09e59cb332c.zip |
svn merge ^/branches/released .
Diffstat (limited to 'xorg-server/composite')
-rw-r--r-- | xorg-server/composite/compwindow.c | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/xorg-server/composite/compwindow.c b/xorg-server/composite/compwindow.c index 0efae97eb..e897c13f9 100644 --- a/xorg-server/composite/compwindow.c +++ b/xorg-server/composite/compwindow.c @@ -639,10 +639,9 @@ compWindowFormat (WindowPtr pWin) }
static void
-compWindowUpdateAutomatic (WindowPtr pWin)
+compWindowUpdateAutomatic (WindowPtr pWin, ScreenPtr pScreen)
{
CompWindowPtr cw = GetCompWindow (pWin);
- ScreenPtr pScreen = pWin->drawable.pScreen;
WindowPtr pParent = pWin->parent;
PixmapPtr pSrcPixmap = (*pScreen->GetWindowPixmap) (pWin);
PictFormatPtr pSrcFormat = compWindowFormat (pWin);
@@ -665,8 +664,7 @@ compWindowUpdateAutomatic (WindowPtr pWin) /*
* First move the region from window to screen coordinates
*/
- RegionTranslate(pRegion,
- pWin->drawable.x, pWin->drawable.y);
+ RegionTranslate(pRegion, pWin->drawable.x, pWin->drawable.y);
/*
* Clip against the "real" border clip
@@ -676,8 +674,7 @@ compWindowUpdateAutomatic (WindowPtr pWin) /*
* Now translate from screen to dest coordinates
*/
- RegionTranslate(pRegion,
- -pParent->drawable.x, -pParent->drawable.y);
+ RegionTranslate(pRegion, -pParent->drawable.x, -pParent->drawable.y);
/*
* Clip the picture
@@ -706,23 +703,26 @@ compWindowUpdateAutomatic (WindowPtr pWin) DamageEmpty (cw->damage);
}
-void
-compWindowUpdate (WindowPtr pWin)
+static int
+compWindowUpdateVisit(WindowPtr pWin, void *data)
{
- WindowPtr pChild;
-
- for (pChild = pWin->lastChild; pChild; pChild = pChild->prevSib)
- compWindowUpdate (pChild);
if (pWin->redirectDraw != RedirectDrawNone)
{
- CompWindowPtr cw = GetCompWindow(pWin);
-
+ CompWindowPtr cw = GetCompWindow(pWin);
if (cw->damaged)
{
- compWindowUpdateAutomatic (pWin);
+ compWindowUpdateAutomatic(pWin, data);
cw->damaged = FALSE;
}
}
+
+ return WT_WALKCHILDREN;
+}
+
+void
+compWindowUpdate (WindowPtr pWin)
+{
+ TraverseTree(pWin, compWindowUpdateVisit, pWin->drawable.pScreen);
}
WindowPtr
|