diff options
author | Jay Sorg <jay.sorg@gmail.com> | 2012-08-16 23:23:18 -0700 |
---|---|---|
committer | Jay Sorg <jay.sorg@gmail.com> | 2012-08-16 23:23:18 -0700 |
commit | 68ef2fadde50188faf071798b384f7d71d1c3f6f (patch) | |
tree | 9bf7497cf2fe3327b44948bcdfc1e8a9202d6cd2 /xorg/X11R7.6/rdp/rdpCopyPlane.c | |
parent | ea98b503caf78170d5a1a94557cb1a6d98821645 (diff) | |
download | xrdp-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.c | 25 |
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 { |