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
ulab-next
Laxmikant Rashinkar 12 years ago
parent 70d535211b
commit 42a56cd33e

@ -377,30 +377,12 @@ rdpCopyArea(DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC,
if (pSrc->type == DRAWABLE_WINDOW) if (pSrc->type == DRAWABLE_WINDOW)
{ {
rdpup_check_dirty_screen(&g_screenPriv); pSrcWnd = (WindowPtr)pSrc;
if (pDst->type == DRAWABLE_WINDOW)
{
pDstWnd = (WindowPtr)pDst;
if (pDstWnd->viewable)
{
can_do_screen_blt = pGC->alu == GXcopy;
if (can_do_screen_blt) if (pSrcWnd->viewable)
{
return rdpCopyAreaWndToWnd(pSrcWnd, pDstWnd, pGC,
srcx, srcy, w, h, dstx, dsty);
}
}
}
else if (pDst->type == DRAWABLE_PIXMAP)
{ {
pDstPixmap = (PixmapPtr)pDst; rdpup_check_dirty_screen(&g_screenPriv);
pDstPriv = GETPIXPRIV(pDstPixmap);
if (XRDP_IS_OS(pDstPriv))
{
if (pDst->type == DRAWABLE_WINDOW) if (pDst->type == DRAWABLE_WINDOW)
{ {
pDstWnd = (WindowPtr)pDst; pDstWnd = (WindowPtr)pDst;
@ -442,6 +424,12 @@ rdpCopyArea(DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC,
pSrcPriv = GETPIXPRIV(pSrcPixmap); pSrcPriv = GETPIXPRIV(pSrcPixmap);
if (XRDP_IS_OS(pSrcPriv)) if (XRDP_IS_OS(pSrcPriv))
{
if (pDst->type == DRAWABLE_WINDOW)
{
pDstWnd = (WindowPtr)pDst;
if (pDstWnd->viewable)
{ {
rdpup_check_dirty_screen(&g_screenPriv); rdpup_check_dirty_screen(&g_screenPriv);
rdpup_check_dirty(pSrcPixmap, pSrcPriv); rdpup_check_dirty(pSrcPixmap, pSrcPriv);
@ -449,6 +437,26 @@ rdpCopyArea(DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC,
srcx, srcy, w, h, dstx, dsty); srcx, srcy, w, h, dstx, dsty);
} }
} }
else if (pDst->type == DRAWABLE_PIXMAP)
{
pDstPixmap = (PixmapPtr)pDst;
pDstPriv = GETPIXPRIV(pDstPixmap);
if (XRDP_IS_OS(pDstPriv))
{
if (g_can_do_pix_to_pix)
{
rdpup_check_dirty(pSrcPixmap, pSrcPriv);
rdpup_check_dirty(pDstPixmap, pDstPriv);
return rdpCopyAreaPixmapToPixmap(pSrcPixmap, pSrcPriv,
pDstPixmap, pDstPriv,
pGC, srcx, srcy, w, h,
dstx, dsty);
}
}
}
}
}
/* do original call */ /* do original call */
rv = rdpCopyAreaOrg(pSrc, pDst, pGC, srcx, srcy, w, h, dstx, dsty); rv = rdpCopyAreaOrg(pSrc, pDst, pGC, srcx, srcy, w, h, dstx, dsty);
@ -485,26 +493,6 @@ rdpCopyArea(DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC,
} }
} }
else else
{
post_process = 1;
if (g_do_dirty_os)
{
LLOGLN(10, ("rdpCopyArea: gettig dirty"));
pDstPriv->is_dirty = 1;
pDirtyPriv = pDstPriv;
dirty_type = RDI_IMGLL;
}
else
{
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) if (pDst->type == DRAWABLE_WINDOW)
{ {
@ -528,6 +516,7 @@ rdpCopyArea(DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC,
} }
} }
} }
}
if (!post_process) if (!post_process)
{ {
@ -614,5 +603,4 @@ rdpCopyArea(DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC,
} }
return rv; return rv;
}
} }

@ -126,6 +126,8 @@ rdpCopyPlane(DrawablePtr pSrc, DrawablePtr pDst,
} }
} }
else else
{
if (pDst->type == DRAWABLE_WINDOW)
{ {
pDstWnd = (WindowPtr)pDst; pDstWnd = (WindowPtr)pDst;
@ -147,6 +149,7 @@ rdpCopyPlane(DrawablePtr pSrc, DrawablePtr pDst,
} }
} }
} }
}
if (!post_process) if (!post_process)
{ {

@ -165,6 +165,8 @@ rdpFillPolygon(DrawablePtr pDrawable, GCPtr pGC,
} }
} }
else else
{
if (pDrawable->type == DRAWABLE_WINDOW)
{ {
pDstWnd = (WindowPtr)pDrawable; pDstWnd = (WindowPtr)pDrawable;
@ -186,6 +188,7 @@ rdpFillPolygon(DrawablePtr pDrawable, GCPtr pGC,
} }
} }
} }
}
if (!post_process) if (!post_process)
{ {

@ -81,6 +81,27 @@ rdpFillSpans(DrawablePtr pDrawable, GCPtr pGC, int nInit,
pDstPriv = GETPIXPRIV(pDstPixmap); pDstPriv = GETPIXPRIV(pDstPixmap);
if (XRDP_IS_OS(pDstPriv)) if (XRDP_IS_OS(pDstPriv))
{
rdpup_switch_os_surface(pDstPriv->rdpindex);
rdpup_get_pixmap_image_rect(pDstPixmap, &id);
got_id = 1;
}
}
else
{
if (pDrawable->type == DRAWABLE_WINDOW)
{
pDstWnd = (WindowPtr)pDrawable;
if (pDstWnd->viewable)
{
rdpup_get_screen_image_rect(&id);
got_id = 1;
}
}
}
if (!got_id)
{ {
return; return;
} }
@ -97,6 +118,4 @@ rdpFillSpans(DrawablePtr pDrawable, GCPtr pGC, int nInit,
RegionUninit(&clip_reg); RegionUninit(&clip_reg);
rdpup_switch_os_surface(-1); rdpup_switch_os_surface(-1);
}
} }

@ -99,22 +99,25 @@ rdpImageGlyphBlt(DrawablePtr pDrawable, GCPtr pGC,
if (pDrawable->type == DRAWABLE_PIXMAP) if (pDrawable->type == DRAWABLE_PIXMAP)
{ {
pDstWnd = (WindowPtr)pDrawable; pDstPixmap = (PixmapPtr)pDrawable;
pDstPriv = GETPIXPRIV(pDstPixmap);
if (pDstWnd->viewable) if (XRDP_IS_OS(pDstPriv))
{ {
post_process = 1; post_process = 1;
if (g_do_dirty_ons) if (g_do_dirty_os)
{ {
LLOGLN(0, ("rdpImageGlyphBlt: gettig dirty")); LLOGLN(10, ("rdpImageGlyphBlt: gettig dirty"));
g_screenPriv.is_dirty = 1; pDstPriv->is_dirty = 1;
pDirtyPriv = &g_screenPriv; pDirtyPriv = pDstPriv;
dirty_type = RDI_IMGLL; dirty_type = RDI_IMGLL;
} }
else 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; got_id = 1;
} }
} }
@ -128,11 +131,22 @@ rdpImageGlyphBlt(DrawablePtr pDrawable, GCPtr pGC,
if (pDstWnd->viewable) if (pDstWnd->viewable)
{ {
post_process = 1; post_process = 1;
if (g_do_dirty_ons)
{
LLOGLN(0, ("rdpImageGlyphBlt: gettig dirty"));
g_screenPriv.is_dirty = 1;
pDirtyPriv = &g_screenPriv;
dirty_type = RDI_IMGLL;
}
else
{
rdpup_get_screen_image_rect(&id); rdpup_get_screen_image_rect(&id);
got_id = 1; got_id = 1;
} }
} }
} }
}
if (!post_process) if (!post_process)
{ {

@ -97,22 +97,25 @@ rdpImageText16(DrawablePtr pDrawable, GCPtr pGC,
if (pDrawable->type == DRAWABLE_PIXMAP) if (pDrawable->type == DRAWABLE_PIXMAP)
{ {
pDstWnd = (WindowPtr)pDrawable; pDstPixmap = (PixmapPtr)pDrawable;
pDstPriv = GETPIXPRIV(pDstPixmap);
if (pDstWnd->viewable) if (XRDP_IS_OS(pDstPriv))
{ {
post_process = 1; post_process = 1;
if (g_do_dirty_ons) if (g_do_dirty_os)
{ {
LLOGLN(0, ("rdpImageText16: gettig dirty")); LLOGLN(10, ("rdpImageText16: gettig dirty"));
g_screenPriv.is_dirty = 1; pDstPriv->is_dirty = 1;
pDirtyPriv = &g_screenPriv; pDirtyPriv = pDstPriv;
dirty_type = RDI_IMGLL; dirty_type = RDI_IMGLY;
} }
else 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; got_id = 1;
} }
} }
@ -126,11 +129,22 @@ rdpImageText16(DrawablePtr pDrawable, GCPtr pGC,
if (pDstWnd->viewable) if (pDstWnd->viewable)
{ {
post_process = 1; post_process = 1;
if (g_do_dirty_ons)
{
LLOGLN(0, ("rdpImageText16: gettig dirty"));
g_screenPriv.is_dirty = 1;
pDirtyPriv = &g_screenPriv;
dirty_type = RDI_IMGLL;
}
else
{
rdpup_get_screen_image_rect(&id); rdpup_get_screen_image_rect(&id);
got_id = 1; got_id = 1;
} }
} }
} }
}
if (!post_process) if (!post_process)
{ {

@ -97,22 +97,25 @@ rdpImageText8(DrawablePtr pDrawable, GCPtr pGC,
if (pDrawable->type == DRAWABLE_PIXMAP) if (pDrawable->type == DRAWABLE_PIXMAP)
{ {
pDstWnd = (WindowPtr)pDrawable; pDstPixmap = (PixmapPtr)pDrawable;
pDstPriv = GETPIXPRIV(pDstPixmap);
if (pDstWnd->viewable) if (XRDP_IS_OS(pDstPriv))
{ {
post_process = 1; post_process = 1;
if (g_do_dirty_ons) if (g_do_dirty_os)
{ {
LLOGLN(0, ("rdpImageText8: gettig dirty")); LLOGLN(10, ("rdpImageText8: gettig dirty"));
g_screenPriv.is_dirty = 1; pDstPriv->is_dirty = 1;
pDirtyPriv = &g_screenPriv; pDirtyPriv = pDstPriv;
dirty_type = RDI_IMGLL; dirty_type = RDI_IMGLL;
} }
else 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; got_id = 1;
} }
} }
@ -126,11 +129,22 @@ rdpImageText8(DrawablePtr pDrawable, GCPtr pGC,
if (pDstWnd->viewable) if (pDstWnd->viewable)
{ {
post_process = 1; post_process = 1;
if (g_do_dirty_ons)
{
LLOGLN(0, ("rdpImageText8: gettig dirty"));
g_screenPriv.is_dirty = 1;
pDirtyPriv = &g_screenPriv;
dirty_type = RDI_IMGLL;
}
else
{
rdpup_get_screen_image_rect(&id); rdpup_get_screen_image_rect(&id);
got_id = 1; got_id = 1;
} }
} }
} }
}
if (!post_process) if (!post_process)
{ {

@ -145,19 +145,6 @@ rdpPolyArc(DrawablePtr pDrawable, GCPtr pGC, int narcs, xArc *parcs)
{ {
pDstWnd = (WindowPtr)pDrawable; pDstWnd = (WindowPtr)pDrawable;
if (pDstWnd->viewable)
{
post_process = 1;
rdpup_get_screen_image_rect(&id);
got_id = 1;
}
}
}
if (!post_process)
{
pDstWnd = (WindowPtr)pDrawable;
if (pDstWnd->viewable) if (pDstWnd->viewable)
{ {
post_process = 1; post_process = 1;
@ -176,6 +163,13 @@ rdpPolyArc(DrawablePtr pDrawable, GCPtr pGC, int narcs, xArc *parcs)
} }
} }
} }
}
if (!post_process)
{
g_free(rects);
return;
}
RegionInit(&clip_reg, NullBox, 0); RegionInit(&clip_reg, NullBox, 0);
cd = rdp_get_clip(&clip_reg, pDrawable, pGC); cd = rdp_get_clip(&clip_reg, pDrawable, pGC);

@ -145,19 +145,6 @@ rdpPolyFillArc(DrawablePtr pDrawable, GCPtr pGC, int narcs, xArc *parcs)
{ {
pDstWnd = (WindowPtr)pDrawable; pDstWnd = (WindowPtr)pDrawable;
if (pDstWnd->viewable)
{
post_process = 1;
rdpup_get_screen_image_rect(&id);
got_id = 1;
}
}
}
if (!post_process)
{
pDstWnd = (WindowPtr)pDrawable;
if (pDstWnd->viewable) if (pDstWnd->viewable)
{ {
post_process = 1; post_process = 1;
@ -176,6 +163,13 @@ rdpPolyFillArc(DrawablePtr pDrawable, GCPtr pGC, int narcs, xArc *parcs)
} }
} }
} }
}
if (!post_process)
{
g_free(rects);
return;
}
RegionInit(&clip_reg, NullBox, 0); RegionInit(&clip_reg, NullBox, 0);
cd = rdp_get_clip(&clip_reg, pDrawable, pGC); cd = rdp_get_clip(&clip_reg, pDrawable, pGC);

@ -95,6 +95,11 @@ rdpPolyFillRect(DrawablePtr pDrawable, GCPtr pGC, int nrectFill,
reset_surface = 0; reset_surface = 0;
if (pDrawable->type == DRAWABLE_PIXMAP) if (pDrawable->type == DRAWABLE_PIXMAP)
{
pDstPixmap = (PixmapPtr)pDrawable;
pDstPriv = GETPIXPRIV(pDstPixmap);
if (XRDP_IS_OS(pDstPriv))
{ {
post_process = 1; post_process = 1;
@ -113,7 +118,10 @@ rdpPolyFillRect(DrawablePtr pDrawable, GCPtr pGC, int nrectFill,
got_id = 1; got_id = 1;
} }
} }
}
else else
{
if (pDrawable->type == DRAWABLE_WINDOW)
{ {
pDstWnd = (WindowPtr)pDrawable; pDstWnd = (WindowPtr)pDrawable;
@ -135,6 +143,7 @@ rdpPolyFillRect(DrawablePtr pDrawable, GCPtr pGC, int nrectFill,
} }
} }
} }
}
if (!post_process) if (!post_process)
{ {

@ -99,22 +99,25 @@ rdpPolyGlyphBlt(DrawablePtr pDrawable, GCPtr pGC,
if (pDrawable->type == DRAWABLE_PIXMAP) if (pDrawable->type == DRAWABLE_PIXMAP)
{ {
pDstWnd = (WindowPtr)pDrawable; pDstPixmap = (PixmapPtr)pDrawable;
pDstPriv = GETPIXPRIV(pDstPixmap);
if (pDstWnd->viewable) if (XRDP_IS_OS(pDstPriv))
{ {
post_process = 1; post_process = 1;
if (g_do_dirty_ons) if (g_do_dirty_os)
{ {
LLOGLN(0, ("rdpPolyGlyphBlt: gettig dirty")); LLOGLN(10, ("rdpPolyGlyphBlt: gettig dirty"));
g_screenPriv.is_dirty = 1; pDstPriv->is_dirty = 1;
pDirtyPriv = &g_screenPriv; pDirtyPriv = pDstPriv;
dirty_type = RDI_IMGLL; dirty_type = RDI_IMGLY;
} }
else 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; got_id = 1;
} }
} }
@ -128,11 +131,22 @@ rdpPolyGlyphBlt(DrawablePtr pDrawable, GCPtr pGC,
if (pDstWnd->viewable) if (pDstWnd->viewable)
{ {
post_process = 1; post_process = 1;
if (g_do_dirty_ons)
{
LLOGLN(0, ("rdpPolyGlyphBlt: gettig dirty"));
g_screenPriv.is_dirty = 1;
pDirtyPriv = &g_screenPriv;
dirty_type = RDI_IMGLL;
}
else
{
rdpup_get_screen_image_rect(&id); rdpup_get_screen_image_rect(&id);
got_id = 1; got_id = 1;
} }
} }
} }
}
if (!post_process) if (!post_process)
{ {

@ -100,25 +100,40 @@ rdpPolyPoint(DrawablePtr pDrawable, GCPtr pGC, int mode,
for (i = 0; i < npt; i++) for (i = 0; i < npt; i++)
{ {
pDstWnd = (WindowPtr)pDrawable; pts[i].x = pDrawable->x + in_pts[i].x;
pts[i].y = pDrawable->y + in_pts[i].y;
if (pDstWnd->viewable) if (i == 0)
{ {
post_process = 1; total_box.x1 = pts[0].x;
total_box.y1 = pts[0].y;
total_box.x2 = pts[0].x;
total_box.y2 = pts[0].y;
}
else
{
if (pts[i].x < total_box.x1)
{
total_box.x1 = pts[i].x;
}
if (g_do_dirty_ons) if (pts[i].y < total_box.y1)
{ {
LLOGLN(0, ("rdpPolyPoint: gettig dirty")); total_box.y1 = pts[i].y;
g_screenPriv.is_dirty = 1;
pDirtyPriv = &g_screenPriv;
dirty_type = RDI_IMGLL;
} }
else
if (pts[i].x > total_box.x2)
{ {
rdpup_get_screen_image_rect(&id); total_box.x2 = pts[i].x;
got_id = 1; }
if (pts[i].y > total_box.y2)
{
total_box.y2 = pts[i].y;
} }
} }
/* todo, use this total_box */
} }
/* do original call */ /* do original call */
@ -164,11 +179,22 @@ rdpPolyPoint(DrawablePtr pDrawable, GCPtr pGC, int mode,
if (pDstWnd->viewable) if (pDstWnd->viewable)
{ {
post_process = 1; post_process = 1;
if (g_do_dirty_ons)
{
LLOGLN(0, ("rdpPolyPoint: gettig dirty"));
g_screenPriv.is_dirty = 1;
pDirtyPriv = &g_screenPriv;
dirty_type = RDI_IMGLL;
}
else
{
rdpup_get_screen_image_rect(&id); rdpup_get_screen_image_rect(&id);
got_id = 1; got_id = 1;
} }
} }
} }
}
if (!post_process) if (!post_process)
{ {

@ -109,22 +109,25 @@ rdpPolyRectangle(DrawablePtr pDrawable, GCPtr pGC, int nrects,
if (pDrawable->type == DRAWABLE_PIXMAP) if (pDrawable->type == DRAWABLE_PIXMAP)
{ {
pDstWnd = (WindowPtr)pDrawable; pDstPixmap = (PixmapPtr)pDrawable;
pDstPriv = GETPIXPRIV(pDstPixmap);
if (pDstWnd->viewable) if (XRDP_IS_OS(pDstPriv))
{ {
post_process = 1; post_process = 1;
if (g_do_dirty_ons) if (g_do_dirty_os)
{ {
LLOGLN(0, ("rdpPolyRectangle: gettig dirty")); LLOGLN(10, ("rdpPolyRectangle: gettig dirty"));
g_screenPriv.is_dirty = 1; pDstPriv->is_dirty = 1;
pDirtyPriv = &g_screenPriv; pDirtyPriv = pDstPriv;
dirty_type = RDI_IMGLL; dirty_type = RDI_IMGLL;
} }
else 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; got_id = 1;
} }
} }
@ -138,11 +141,22 @@ rdpPolyRectangle(DrawablePtr pDrawable, GCPtr pGC, int nrects,
if (pDstWnd->viewable) if (pDstWnd->viewable)
{ {
post_process = 1; post_process = 1;
if (g_do_dirty_ons)
{
LLOGLN(0, ("rdpPolyRectangle: gettig dirty"));
g_screenPriv.is_dirty = 1;
pDirtyPriv = &g_screenPriv;
dirty_type = RDI_IMGLL;
}
else
{
rdpup_get_screen_image_rect(&id); rdpup_get_screen_image_rect(&id);
got_id = 1; got_id = 1;
} }
} }
} }
}
if (!post_process) if (!post_process)
{ {

@ -135,19 +135,6 @@ rdpPolySegment(DrawablePtr pDrawable, GCPtr pGC, int nseg, xSegment *pSegs)
{ {
pDstWnd = (WindowPtr)pDrawable; pDstWnd = (WindowPtr)pDrawable;
if (pDstWnd->viewable)
{
post_process = 1;
rdpup_get_screen_image_rect(&id);
got_id = 1;
}
}
}
if (!post_process)
{
pDstWnd = (WindowPtr)pDrawable;
if (pDstWnd->viewable) if (pDstWnd->viewable)
{ {
post_process = 1; post_process = 1;
@ -166,6 +153,13 @@ rdpPolySegment(DrawablePtr pDrawable, GCPtr pGC, int nseg, xSegment *pSegs)
} }
} }
} }
}
if (!post_process)
{
g_free(segs);
return;
}
RegionInit(&clip_reg, NullBox, 0); RegionInit(&clip_reg, NullBox, 0);
cd = rdp_get_clip(&clip_reg, pDrawable, pGC); cd = rdp_get_clip(&clip_reg, pDrawable, pGC);

@ -100,22 +100,25 @@ rdpPolyText16(DrawablePtr pDrawable, GCPtr pGC,
if (pDrawable->type == DRAWABLE_PIXMAP) if (pDrawable->type == DRAWABLE_PIXMAP)
{ {
pDstWnd = (WindowPtr)pDrawable; pDstPixmap = (PixmapPtr)pDrawable;
pDstPriv = GETPIXPRIV(pDstPixmap);
if (pDstWnd->viewable) if (XRDP_IS_OS(pDstPriv))
{ {
post_process = 1; post_process = 1;
if (g_do_dirty_ons) if (g_do_dirty_os)
{ {
LLOGLN(0, ("rdpPolyText16: gettig dirty")); LLOGLN(10, ("rdpPolyText16: gettig dirty"));
g_screenPriv.is_dirty = 1; pDstPriv->is_dirty = 1;
pDirtyPriv = &g_screenPriv; pDirtyPriv = pDstPriv;
dirty_type = RDI_IMGLL; dirty_type = RDI_IMGLY;
} }
else 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; got_id = 1;
} }
} }
@ -129,11 +132,22 @@ rdpPolyText16(DrawablePtr pDrawable, GCPtr pGC,
if (pDstWnd->viewable) if (pDstWnd->viewable)
{ {
post_process = 1; post_process = 1;
if (g_do_dirty_ons)
{
LLOGLN(0, ("rdpPolyText16: gettig dirty"));
g_screenPriv.is_dirty = 1;
pDirtyPriv = &g_screenPriv;
dirty_type = RDI_IMGLL;
}
else
{
rdpup_get_screen_image_rect(&id); rdpup_get_screen_image_rect(&id);
got_id = 1; got_id = 1;
} }
} }
} }
}
if (!post_process) if (!post_process)
{ {

@ -100,22 +100,25 @@ rdpPolyText8(DrawablePtr pDrawable, GCPtr pGC,
if (pDrawable->type == DRAWABLE_PIXMAP) if (pDrawable->type == DRAWABLE_PIXMAP)
{ {
pDstWnd = (WindowPtr)pDrawable; pDstPixmap = (PixmapPtr)pDrawable;
pDstPriv = GETPIXPRIV(pDstPixmap);
if (pDstWnd->viewable) if (XRDP_IS_OS(pDstPriv))
{ {
post_process = 1; post_process = 1;
if (g_do_dirty_ons) if (g_do_dirty_os)
{ {
LLOGLN(0, ("rdpPolyText8: gettig dirty")); LLOGLN(10, ("rdpPolyText8: gettig dirty"));
g_screenPriv.is_dirty = 1; pDstPriv->is_dirty = 1;
pDirtyPriv = &g_screenPriv; pDirtyPriv = pDstPriv;
dirty_type = RDI_IMGLL; dirty_type = RDI_IMGLY;
} }
else 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; got_id = 1;
} }
} }
@ -129,11 +132,22 @@ rdpPolyText8(DrawablePtr pDrawable, GCPtr pGC,
if (pDstWnd->viewable) if (pDstWnd->viewable)
{ {
post_process = 1; post_process = 1;
if (g_do_dirty_ons)
{
LLOGLN(0, ("rdpPolyText8: gettig dirty"));
g_screenPriv.is_dirty = 1;
pDirtyPriv = &g_screenPriv;
dirty_type = RDI_IMGLL;
}
else
{
rdpup_get_screen_image_rect(&id); rdpup_get_screen_image_rect(&id);
got_id = 1; got_id = 1;
} }
} }
} }
}
if (!post_process) if (!post_process)
{ {

@ -181,6 +181,8 @@ rdpPolylines(DrawablePtr pDrawable, GCPtr pGC, int mode,
} }
} }
else else
{
if (pDrawable->type == DRAWABLE_WINDOW)
{ {
pDstWnd = (WindowPtr)pDrawable; pDstWnd = (WindowPtr)pDrawable;
@ -202,6 +204,7 @@ rdpPolylines(DrawablePtr pDrawable, GCPtr pGC, int mode,
} }
} }
} }
}
if (!post_process) if (!post_process)
{ {

@ -92,6 +92,11 @@ rdpPushPixels(GCPtr pGC, PixmapPtr pBitMap, DrawablePtr pDst,
got_id = 0; got_id = 0;
if (pDst->type == DRAWABLE_PIXMAP) if (pDst->type == DRAWABLE_PIXMAP)
{
pDstPixmap = (PixmapPtr)pDst;
pDstPriv = GETPIXPRIV(pDstPixmap);
if (XRDP_IS_OS(pDstPriv))
{ {
post_process = 1; post_process = 1;
@ -110,7 +115,10 @@ rdpPushPixels(GCPtr pGC, PixmapPtr pBitMap, DrawablePtr pDst,
got_id = 1; got_id = 1;
} }
} }
}
else else
{
if (pDst->type == DRAWABLE_WINDOW)
{ {
pDstWnd = (WindowPtr)pDst; pDstWnd = (WindowPtr)pDst;
@ -132,6 +140,7 @@ rdpPushPixels(GCPtr pGC, PixmapPtr pBitMap, DrawablePtr pDst,
} }
} }
} }
}
if (!post_process) if (!post_process)
{ {

@ -119,6 +119,8 @@ rdpPutImage(DrawablePtr pDst, GCPtr pGC, int depth, int x, int y,
} }
} }
else else
{
if (pDst->type == DRAWABLE_WINDOW)
{ {
pDstWnd = (WindowPtr)pDst; pDstWnd = (WindowPtr)pDst;
@ -140,6 +142,7 @@ rdpPutImage(DrawablePtr pDst, GCPtr pGC, int depth, int x, int y,
} }
} }
} }
}
if (!post_process) if (!post_process)
{ {

@ -89,11 +89,6 @@ rdpSetSpans(DrawablePtr pDrawable, GCPtr pGC, char *psrc,
pDstPixmap = (PixmapPtr)pDrawable; pDstPixmap = (PixmapPtr)pDrawable;
pDstPriv = GETPIXPRIV(pDstPixmap); pDstPriv = GETPIXPRIV(pDstPixmap);
if (XRDP_IS_OS(pDstPriv))
{
pDstPixmap = (PixmapPtr)pDrawable;
pDstPriv = GETPIXPRIV(pDstPixmap);
if (XRDP_IS_OS(pDstPriv)) if (XRDP_IS_OS(pDstPriv))
{ {
post_process = 1; post_process = 1;
@ -162,6 +157,4 @@ rdpSetSpans(DrawablePtr pDrawable, GCPtr pGC, char *psrc,
{ {
rdpup_switch_os_surface(-1); rdpup_switch_os_surface(-1);
} }
}
} }

@ -1246,6 +1246,8 @@ rdpComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst,
} }
} }
else else
{
if (p->type == DRAWABLE_WINDOW)
{ {
pDstWnd = (WindowPtr)p; pDstWnd = (WindowPtr)p;
@ -1268,6 +1270,7 @@ rdpComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst,
} }
} }
} }
}
if (!post_process) if (!post_process)
{ {

@ -1684,6 +1684,15 @@ rdpup_create_window(WindowPtr pWindow, rdpWindowRec *priv)
LLOGLN(10, ("rdpup_create_window: id 0x%8.8x", pWindow->drawable.id)); LLOGLN(10, ("rdpup_create_window: id 0x%8.8x", pWindow->drawable.id));
if (g_connected) if (g_connected)
{
root_id = pWindow->drawable.pScreen->root->drawable.id;
if (pWindow->overrideRedirect)
{
style = XR_STYLE_TOOLTIP;
ext_style = XR_EXT_STYLE_TOOLTIP;
}
else
{ {
style = XR_STYLE_NORMAL; style = XR_STYLE_NORMAL;
ext_style = XR_EXT_STYLE_NORMAL; ext_style = XR_EXT_STYLE_NORMAL;
@ -1761,6 +1770,7 @@ rdpup_create_window(WindowPtr pWindow, rdpWindowRec *priv)
flags |= WINDOW_ORDER_FIELD_VISIBILITY; flags |= WINDOW_ORDER_FIELD_VISIBILITY;
out_uint32_le(g_out_s, flags); /* flags */ out_uint32_le(g_out_s, flags); /* flags */
}
} }
/******************************************************************************/ /******************************************************************************/
@ -1894,7 +1904,6 @@ rdpup_check_dirty(PixmapPtr pDirtyPixmap, rdpPixmapRec *pDirtyPriv)
rdpup_reset_clip(); rdpup_reset_clip();
rdpup_set_opcode(GXcopy); rdpup_set_opcode(GXcopy);
break; break;
case RDI_SCRBLT: case RDI_SCRBLT:
LLOGLN(10, (" RDI_SCRBLT")); LLOGLN(10, (" RDI_SCRBLT"));
break; break;
@ -1910,9 +1919,9 @@ rdpup_check_dirty(PixmapPtr pDirtyPixmap, rdpPixmapRec *pDirtyPriv)
return 0; return 0;
} }
/******************************************************************************/ /******************************************************************************/
int int
rdpup_check_dirty_screen(rdpPixmapRec *pDirtyPriv) rdpup_check_dirty_screen(rdpPixmapRec *pDirtyPriv)
{ {
int index; int index;
int clip_index; int clip_index;

Loading…
Cancel
Save