diff options
Diffstat (limited to 'xorg/X11R7.6/rdp/rdpCopyPlane.c')
-rw-r--r-- | xorg/X11R7.6/rdp/rdpCopyPlane.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/xorg/X11R7.6/rdp/rdpCopyPlane.c b/xorg/X11R7.6/rdp/rdpCopyPlane.c index aa0e2c29..6c871720 100644 --- a/xorg/X11R7.6/rdp/rdpCopyPlane.c +++ b/xorg/X11R7.6/rdp/rdpCopyPlane.c @@ -38,6 +38,8 @@ extern int g_Bpp; /* from rdpmain.c */ extern ScreenPtr g_pScreen; /* from rdpmain.c */ extern Bool g_wrapPixmap; /* from rdpmain.c */ extern int g_do_dirty_os; /* in rdpmain.c */ +extern int g_do_dirty_ons; /* in rdpmain.c */ +extern rdpPixmapRec g_screenPriv; /* in rdpmain.c */ extern GCOps g_rdpGCOps; /* from rdpdraw.c */ @@ -125,13 +127,21 @@ rdpCopyPlane(DrawablePtr pSrc, DrawablePtr pDst, } else { - if (pDst->type == DRAWABLE_WINDOW) + pDstWnd = (WindowPtr)pDst; + + if (pDstWnd->viewable) { - pDstWnd = (WindowPtr)pDst; + post_process = 1; - if (pDstWnd->viewable) + if (g_do_dirty_ons) + { + LLOGLN(0, ("rdpCopyPlane: gettig dirty")); + g_screenPriv.is_dirty = 1; + pDirtyPriv = &g_screenPriv; + dirty_type = RDI_IMGLL; + } + else { - post_process = 1; rdpup_get_screen_image_rect(&id); got_id = 1; } |