summaryrefslogtreecommitdiff
path: root/dix/pixmap.c
diff options
context:
space:
mode:
Diffstat (limited to 'dix/pixmap.c')
-rw-r--r--dix/pixmap.c24
1 files changed, 11 insertions, 13 deletions
diff --git a/dix/pixmap.c b/dix/pixmap.c
index b67a2e8a6..81ac5e2d8 100644
--- a/dix/pixmap.c
+++ b/dix/pixmap.c
@@ -181,12 +181,12 @@ PixmapDirtyDamageDestroy(DamagePtr damage, void *closure)
}
Bool
-PixmapStartDirtyTracking(PixmapPtr src,
+PixmapStartDirtyTracking(DrawablePtr src,
PixmapPtr slave_dst,
int x, int y, int dst_x, int dst_y,
Rotation rotation)
{
- ScreenPtr screen = src->drawable.pScreen;
+ ScreenPtr screen = src->pScreen;
PixmapDirtyUpdatePtr dirty_update;
RegionPtr damageregion;
RegionRec dstregion;
@@ -204,8 +204,7 @@ PixmapStartDirtyTracking(PixmapPtr src,
dirty_update->dst_y = dst_y;
dirty_update->rotation = rotation;
dirty_update->damage = DamageCreate(NULL, PixmapDirtyDamageDestroy,
- DamageReportNone,
- TRUE, src->drawable.pScreen,
+ DamageReportNone, TRUE, screen,
dirty_update);
if (rotation != RR_Rotate_0) {
@@ -241,16 +240,15 @@ PixmapStartDirtyTracking(PixmapPtr src,
RegionUnion(damageregion, damageregion, &dstregion);
RegionUninit(&dstregion);
- DamageRegister(screen->root ? &screen->root->drawable : &src->drawable,
- dirty_update->damage);
+ DamageRegister(src, dirty_update->damage);
xorg_list_add(&dirty_update->ent, &screen->pixmap_dirty_list);
return TRUE;
}
Bool
-PixmapStopDirtyTracking(PixmapPtr src, PixmapPtr slave_dst)
+PixmapStopDirtyTracking(DrawablePtr src, PixmapPtr slave_dst)
{
- ScreenPtr screen = src->drawable.pScreen;
+ ScreenPtr screen = src->pScreen;
PixmapDirtyUpdatePtr ent, safe;
xorg_list_for_each_entry_safe(ent, safe, &screen->pixmap_dirty_list, ent) {
@@ -269,8 +267,8 @@ PixmapDirtyCopyArea(PixmapPtr dst,
PixmapDirtyUpdatePtr dirty,
RegionPtr dirty_region)
{
- ScreenPtr pScreen = dirty->src->drawable.pScreen;
- DrawablePtr src = pScreen->root ? &pScreen->root->drawable : &dirty->src->drawable;
+ DrawablePtr src = dirty->src;
+ ScreenPtr pScreen = src->pScreen;
int n;
BoxPtr b;
GCPtr pGC;
@@ -309,7 +307,7 @@ PixmapDirtyCompositeRotate(PixmapPtr dst_pixmap,
PixmapDirtyUpdatePtr dirty,
RegionPtr dirty_region)
{
- ScreenPtr pScreen = dirty->src->drawable.pScreen;
+ ScreenPtr pScreen = dirty->src->pScreen;
PictFormatPtr format = PictureWindowFormat(pScreen->root);
PicturePtr src, dst;
XID include_inferiors = IncludeInferiors;
@@ -318,7 +316,7 @@ PixmapDirtyCompositeRotate(PixmapPtr dst_pixmap,
int error;
src = CreatePicture(None,
- &pScreen->root->drawable,
+ dirty->src,
format,
CPSubwindowMode,
&include_inferiors, serverClient, &error);
@@ -367,7 +365,7 @@ PixmapDirtyCompositeRotate(PixmapPtr dst_pixmap,
*/
Bool PixmapSyncDirtyHelper(PixmapDirtyUpdatePtr dirty)
{
- ScreenPtr pScreen = dirty->src->drawable.pScreen;
+ ScreenPtr pScreen = dirty->src->pScreen;
RegionPtr region = DamageRegion(dirty->damage);
PixmapPtr dst;
SourceValidateProcPtr SourceValidate;