diff options
Diffstat (limited to 'xorg/server/module/rdpPutImage.c')
-rw-r--r-- | xorg/server/module/rdpPutImage.c | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/xorg/server/module/rdpPutImage.c b/xorg/server/module/rdpPutImage.c index 45849c6e..f7af2882 100644 --- a/xorg/server/module/rdpPutImage.c +++ b/xorg/server/module/rdpPutImage.c @@ -68,20 +68,14 @@ rdpPutImagePost(rdpPtr dev, rdpClientCon *clientCon, DrawablePtr pDst, GCPtr pGC, int depth, int x, int y, int w, int h, int leftPad, int format, char *pBits) { - WindowPtr pDstWnd; BoxRec box; RegionRec reg; - if (cd == 0) + if (cd == XRDP_CD_NODRAW) { return; } - if (pDst->type != DRAWABLE_WINDOW) - { - return; - } - pDstWnd = (WindowPtr) pDst; - if (pDstWnd->viewable == FALSE) + if (!XRDP_DRAWABLE_IS_VISIBLE(dev, pDst)) { return; } @@ -90,12 +84,12 @@ rdpPutImagePost(rdpPtr dev, rdpClientCon *clientCon, box.x2 = box.x1 + w; box.y2 = box.y1 + h; rdpRegionInit(®, &box, 0); - if (cd == 2) + if (cd == XRDP_CD_CLIP) { rdpRegionIntersect(®, clip_reg, ®); } rdpClientConAddDirtyScreenReg(dev, clientCon, ®); - RegionUninit(®); + rdpRegionUninit(®); } /******************************************************************************/ @@ -110,6 +104,7 @@ rdpPutImage(DrawablePtr pDst, GCPtr pGC, int depth, int x, int y, LLOGLN(10, ("rdpPutImage:")); dev = rdpGetDevFromScreen(pGC->pScreen); + dev->counts.rdpPutImageCallCount++; rdpRegionInit(&clip_reg, NullBox, 0); cd = rdpDrawGetClip(dev, &clip_reg, pDst, pGC); LLOGLN(10, ("rdpPutImage: cd %d", cd)); @@ -130,5 +125,5 @@ rdpPutImage(DrawablePtr pDst, GCPtr pGC, int depth, int x, int y, w, h, leftPad, format, pBits); clientCon = clientCon->next; } - RegionUninit(&clip_reg); + rdpRegionUninit(&clip_reg); } |