diff options
author | Jay Sorg <jay.sorg@gmail.com> | 2013-08-09 20:07:24 -0700 |
---|---|---|
committer | Jim Grandy <jgrandy@authentic8.com> | 2013-08-22 12:58:07 -0700 |
commit | ac8d4bfb41eaf4321a79ad509365aa1e61e2c18f (patch) | |
tree | 2ddba0f0795ab34263cfbe69852c0274fe2e6b97 /xorg/X11R7.6 | |
parent | 02d550e11b7eda54725a0f8ea469fe6421d1b8d4 (diff) | |
download | xrdp-proprietary-ac8d4bfb41eaf4321a79ad509365aa1e61e2c18f.tar.gz xrdp-proprietary-ac8d4bfb41eaf4321a79ad509365aa1e61e2c18f.zip |
X11rdp: fixes for the merge, offscreen fix
Diffstat (limited to 'xorg/X11R7.6')
-rw-r--r-- | xorg/X11R7.6/rdp/rdp.h | 1 | ||||
-rw-r--r-- | xorg/X11R7.6/rdp/rdpComposite.c | 11 | ||||
-rw-r--r-- | xorg/X11R7.6/rdp/rdpdraw.c | 17 |
3 files changed, 16 insertions, 13 deletions
diff --git a/xorg/X11R7.6/rdp/rdp.h b/xorg/X11R7.6/rdp/rdp.h index 72440af9..b059fd65 100644 --- a/xorg/X11R7.6/rdp/rdp.h +++ b/xorg/X11R7.6/rdp/rdp.h @@ -297,6 +297,7 @@ struct _rdpPixmapRec then we force remote the pixmap */ int use_count; int kind_width; + int is_scratch; struct rdp_draw_item* draw_item_head; struct rdp_draw_item* draw_item_tail; }; diff --git a/xorg/X11R7.6/rdp/rdpComposite.c b/xorg/X11R7.6/rdp/rdpComposite.c index ec161994..57661520 100644 --- a/xorg/X11R7.6/rdp/rdpComposite.c +++ b/xorg/X11R7.6/rdp/rdpComposite.c @@ -487,17 +487,6 @@ check_drawables(CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst, #endif } } - if (rv != 0) - { - /* TODO: figure out why source XRGB does not work - skipping for now because they rarely happen - happens when drawing Firefox open file dialog, the button icons */ - if (PIXMAN_FORMAT_A(pSrc->format) == 0) - { - rv = 0; - LLOGLN(10, ("check_drawables: src format")); - } - } if (rv == 0) { LLOGLN(10, ("check_drawables: can not remote [%s]", g_com_fail_strings[fail_reason])); diff --git a/xorg/X11R7.6/rdp/rdpdraw.c b/xorg/X11R7.6/rdp/rdpdraw.c index c9dc903c..9868cc62 100644 --- a/xorg/X11R7.6/rdp/rdpdraw.c +++ b/xorg/X11R7.6/rdp/rdpdraw.c @@ -996,6 +996,7 @@ rdpCreatePixmap(ScreenPtr pScreen, int width, int height, int depth, pScreen->CreatePixmap = rdpCreatePixmap; if (org_width == 0 && height == 0) { + LLOGLN(10, ("rdpCreatePixmap: setting is_scratch")); priv->is_scratch = 1; } return rv; @@ -1042,6 +1043,10 @@ xrdp_is_os(PixmapPtr pix, rdpPixmapPtr priv) int height; struct image_data id; + if (g_wrapPixmap == 0) + { + return 0; + } if (priv->status == 0) { width = pix->drawable.width; @@ -1049,7 +1054,8 @@ xrdp_is_os(PixmapPtr pix, rdpPixmapPtr priv) if ((pix->usage_hint == 0) && (pix->drawable.depth >= g_rdpScreen.depth) && (width > 0) && (height > 0) && - (priv->use_count > XRDP_USE_COUNT_THRESHOLD)) + (priv->use_count > XRDP_USE_COUNT_THRESHOLD) && + (priv->is_scratch == 0)) { width = (width + 3) & ~3; priv->rdpindex = rdpup_add_os_bitmap(pix, priv); @@ -1082,10 +1088,18 @@ xrdp_is_os(PixmapPtr pix, rdpPixmapPtr priv) priv->use_count++; return 1; } + else + { + LLOGLN(10, ("xrdp_is_os: rdpup_add_os_bitmap failed")); + } } priv->use_count++; return 0; } + else + { + LLOGLN(10, ("xrdp_is_os: ok")); + } priv->use_count++; return 1; } @@ -1569,4 +1583,3 @@ rdpSaveScreen(ScreenPtr pScreen, int on) { return 1; } - |