summaryrefslogtreecommitdiffstats
path: root/xorg/X11R7.6/rdp/rdpPushPixels.c
diff options
context:
space:
mode:
authorLaxmikant Rashinkar <LK.Rashinkar@gmail.com>2012-09-22 18:12:40 -0700
committerLaxmikant Rashinkar <LK.Rashinkar@gmail.com>2012-09-22 18:12:40 -0700
commit42a56cd33ed83a399784958ae4e5490ed21b0b7c (patch)
tree7ed89b3d716ae6765f0a7831c34d5ed6e7ff2177 /xorg/X11R7.6/rdp/rdpPushPixels.c
parent70d535211bd5708b4547a5e2f8bfaa21b1d66746 (diff)
downloadxrdp-proprietary-42a56cd33ed83a399784958ae4e5490ed21b0b7c.tar.gz
xrdp-proprietary-42a56cd33ed83a399784958ae4e5490ed21b0b7c.zip
o Previous merge had too many issues. Hence all files in .../xorg/X11R7.6/rdp were copied
from master branch and then astyle was run on the files
Diffstat (limited to 'xorg/X11R7.6/rdp/rdpPushPixels.c')
-rw-r--r--xorg/X11R7.6/rdp/rdpPushPixels.c63
1 files changed, 36 insertions, 27 deletions
diff --git a/xorg/X11R7.6/rdp/rdpPushPixels.c b/xorg/X11R7.6/rdp/rdpPushPixels.c
index be55d25a..24dc9084 100644
--- a/xorg/X11R7.6/rdp/rdpPushPixels.c
+++ b/xorg/X11R7.6/rdp/rdpPushPixels.c
@@ -93,45 +93,54 @@ rdpPushPixels(GCPtr pGC, PixmapPtr pBitMap, DrawablePtr pDst,
if (pDst->type == DRAWABLE_PIXMAP)
{
- post_process = 1;
+ pDstPixmap = (PixmapPtr)pDst;
+ pDstPriv = GETPIXPRIV(pDstPixmap);
- if (g_do_dirty_os)
- {
- LLOGLN(10, ("rdpPushPixels: gettig dirty"));
- pDstPriv->is_dirty = 1;
- pDirtyPriv = pDstPriv;
- dirty_type = RDI_IMGLY;
- }
- else
- {
- rdpup_switch_os_surface(pDstPriv->rdpindex);
- reset_surface = 1;
- rdpup_get_pixmap_image_rect(pDstPixmap, &id);
- got_id = 1;
- }
- }
- else
- {
- pDstWnd = (WindowPtr)pDst;
-
- if (pDstWnd->viewable)
+ if (XRDP_IS_OS(pDstPriv))
{
post_process = 1;
- if (g_do_dirty_ons)
+ if (g_do_dirty_os)
{
- LLOGLN(0, ("rdpPushPixels: gettig dirty"));
- g_screenPriv.is_dirty = 1;
- pDirtyPriv = &g_screenPriv;
- dirty_type = RDI_IMGLL;
+ LLOGLN(10, ("rdpPushPixels: gettig dirty"));
+ pDstPriv->is_dirty = 1;
+ pDirtyPriv = pDstPriv;
+ dirty_type = RDI_IMGLY;
}
else
{
- rdpup_get_screen_image_rect(&id);
+ rdpup_switch_os_surface(pDstPriv->rdpindex);
+ reset_surface = 1;
+ rdpup_get_pixmap_image_rect(pDstPixmap, &id);
got_id = 1;
}
}
}
+ else
+ {
+ if (pDst->type == DRAWABLE_WINDOW)
+ {
+ pDstWnd = (WindowPtr)pDst;
+
+ if (pDstWnd->viewable)
+ {
+ post_process = 1;
+
+ if (g_do_dirty_ons)
+ {
+ LLOGLN(0, ("rdpPushPixels: gettig dirty"));
+ g_screenPriv.is_dirty = 1;
+ pDirtyPriv = &g_screenPriv;
+ dirty_type = RDI_IMGLL;
+ }
+ else
+ {
+ rdpup_get_screen_image_rect(&id);
+ got_id = 1;
+ }
+ }
+ }
+ }
if (!post_process)
{