summaryrefslogtreecommitdiffstats
path: root/xorg/X11R7.6/rdp/rdpCopyPlane.c
diff options
context:
space:
mode:
authorJay Sorg <jay.sorg@gmail.com>2012-08-16 23:23:18 -0700
committerJay Sorg <jay.sorg@gmail.com>2012-08-16 23:23:18 -0700
commit68ef2fadde50188faf071798b384f7d71d1c3f6f (patch)
tree9bf7497cf2fe3327b44948bcdfc1e8a9202d6cd2 /xorg/X11R7.6/rdp/rdpCopyPlane.c
parentea98b503caf78170d5a1a94557cb1a6d98821645 (diff)
downloadxrdp-proprietary-68ef2fadde50188faf071798b384f7d71d1c3f6f.tar.gz
xrdp-proprietary-68ef2fadde50188faf071798b384f7d71d1c3f6f.zip
xorg: work on delayed/dirty updates
Diffstat (limited to 'xorg/X11R7.6/rdp/rdpCopyPlane.c')
-rw-r--r--xorg/X11R7.6/rdp/rdpCopyPlane.c25
1 files changed, 24 insertions, 1 deletions
diff --git a/xorg/X11R7.6/rdp/rdpCopyPlane.c b/xorg/X11R7.6/rdp/rdpCopyPlane.c
index 78b1c338..73f337cc 100644
--- a/xorg/X11R7.6/rdp/rdpCopyPlane.c
+++ b/xorg/X11R7.6/rdp/rdpCopyPlane.c
@@ -86,11 +86,34 @@ rdpCopyPlane(DrawablePtr pSrc, DrawablePtr pDst,
rdpPixmapRec* pDstPriv;
rdpPixmapRec* pDirtyPriv;
+ PixmapPtr pSrcPixmap;
+ rdpPixmapRec* pSrcPriv;
+
LLOGLN(10, ("rdpCopyPlane:"));
+ if (pSrc->type == DRAWABLE_PIXMAP)
+ {
+ pSrcPixmap = (PixmapPtr)pSrc;
+ pSrcPriv = GETPIXPRIV(pSrcPixmap);
+ if (XRDP_IS_OS(pSrcPriv))
+ {
+ rdpup_check_dirty(pSrcPixmap, pSrcPriv);
+ }
+ }
+ if (pDst->type == DRAWABLE_PIXMAP)
+ {
+ pDstPixmap = (PixmapPtr)pDst;
+ pDstPriv = GETPIXPRIV(pDstPixmap);
+ if (XRDP_IS_OS(pDstPriv))
+ {
+ rdpup_check_dirty(pDstPixmap, pDstPriv);
+ }
+ }
+
/* do original call */
rv = rdpCopyPlaneOrg(pSrc, pDst, pGC, srcx, srcy, w, h,
dstx, dsty, bitPlane);
+
dirty_type = 0;
pDirtyPriv = 0;
post_process = 0;
@@ -108,7 +131,7 @@ rdpCopyPlane(DrawablePtr pSrc, DrawablePtr pDst,
LLOGLN(10, ("rdpCopyPlane: gettig dirty"));
pDstPriv->is_dirty = 1;
pDirtyPriv = pDstPriv;
- dirty_type = RDI_IMGLY;
+ dirty_type = RDI_IMGLL;
}
else
{