Merge branch 'master' of github.com:neutrinolabs/xrdp
This commit is contained in:
commit
1a6483f0ab
@ -492,7 +492,7 @@ rdpCopyArea(DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC,
|
||||
|
||||
if (g_do_dirty_os)
|
||||
{
|
||||
LLOGLN(10, ("rdpCopyArea: gettig dirty"));
|
||||
LLOGLN(10, ("rdpCopyArea: getting dirty"));
|
||||
pDstPriv->is_dirty = 1;
|
||||
pDirtyPriv = pDstPriv;
|
||||
dirty_type = RDI_IMGLL;
|
||||
@ -522,7 +522,7 @@ rdpCopyArea(DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC,
|
||||
|
||||
if (g_do_dirty_ons)
|
||||
{
|
||||
LLOGLN(10, ("rdpCopyArea: gettig dirty"));
|
||||
LLOGLN(10, ("rdpCopyArea: getting dirty"));
|
||||
g_screenPriv.is_dirty = 1;
|
||||
pDirtyPriv = &g_screenPriv;
|
||||
dirty_type = RDI_IMGLL;
|
||||
|
@ -111,7 +111,7 @@ rdpCopyPlane(DrawablePtr pSrc, DrawablePtr pDst,
|
||||
|
||||
if (g_do_dirty_os)
|
||||
{
|
||||
LLOGLN(10, ("rdpCopyPlane: gettig dirty"));
|
||||
LLOGLN(10, ("rdpCopyPlane: getting dirty"));
|
||||
pDstPriv->is_dirty = 1;
|
||||
pDirtyPriv = pDstPriv;
|
||||
dirty_type = RDI_IMGLL;
|
||||
@ -137,7 +137,7 @@ rdpCopyPlane(DrawablePtr pSrc, DrawablePtr pDst,
|
||||
|
||||
if (g_do_dirty_ons)
|
||||
{
|
||||
LLOGLN(0, ("rdpCopyPlane: gettig dirty"));
|
||||
LLOGLN(10, ("rdpCopyPlane: getting dirty"));
|
||||
g_screenPriv.is_dirty = 1;
|
||||
pDirtyPriv = &g_screenPriv;
|
||||
dirty_type = RDI_IMGLL;
|
||||
|
@ -150,7 +150,7 @@ rdpFillPolygon(DrawablePtr pDrawable, GCPtr pGC,
|
||||
|
||||
if (g_do_dirty_os)
|
||||
{
|
||||
LLOGLN(10, ("rdpFillPolygon: gettig dirty"));
|
||||
LLOGLN(10, ("rdpFillPolygon: getting dirty"));
|
||||
pDstPriv->is_dirty = 1;
|
||||
pDirtyPriv = pDstPriv;
|
||||
dirty_type = RDI_IMGLL;
|
||||
@ -176,7 +176,7 @@ rdpFillPolygon(DrawablePtr pDrawable, GCPtr pGC,
|
||||
|
||||
if (g_do_dirty_ons)
|
||||
{
|
||||
LLOGLN(0, ("rdpFillPolygon: gettig dirty"));
|
||||
LLOGLN(10, ("rdpFillPolygon: getting dirty"));
|
||||
g_screenPriv.is_dirty = 1;
|
||||
pDirtyPriv = &g_screenPriv;
|
||||
dirty_type = RDI_IMGLL;
|
||||
|
@ -108,7 +108,7 @@ rdpImageGlyphBlt(DrawablePtr pDrawable, GCPtr pGC,
|
||||
|
||||
if (g_do_dirty_os)
|
||||
{
|
||||
LLOGLN(10, ("rdpImageGlyphBlt: gettig dirty"));
|
||||
LLOGLN(10, ("rdpImageGlyphBlt: getting dirty"));
|
||||
pDstPriv->is_dirty = 1;
|
||||
pDirtyPriv = pDstPriv;
|
||||
dirty_type = RDI_IMGLL;
|
||||
@ -134,7 +134,7 @@ rdpImageGlyphBlt(DrawablePtr pDrawable, GCPtr pGC,
|
||||
|
||||
if (g_do_dirty_ons)
|
||||
{
|
||||
LLOGLN(0, ("rdpImageGlyphBlt: gettig dirty"));
|
||||
LLOGLN(10, ("rdpImageGlyphBlt: getting dirty"));
|
||||
g_screenPriv.is_dirty = 1;
|
||||
pDirtyPriv = &g_screenPriv;
|
||||
dirty_type = RDI_IMGLL;
|
||||
|
@ -106,7 +106,7 @@ rdpImageText16(DrawablePtr pDrawable, GCPtr pGC,
|
||||
|
||||
if (g_do_dirty_os)
|
||||
{
|
||||
LLOGLN(10, ("rdpImageText16: gettig dirty"));
|
||||
LLOGLN(10, ("rdpImageText16: getting dirty"));
|
||||
pDstPriv->is_dirty = 1;
|
||||
pDirtyPriv = pDstPriv;
|
||||
dirty_type = RDI_IMGLY;
|
||||
@ -132,7 +132,7 @@ rdpImageText16(DrawablePtr pDrawable, GCPtr pGC,
|
||||
|
||||
if (g_do_dirty_ons)
|
||||
{
|
||||
LLOGLN(10, ("rdpImageText16: gettig dirty"));
|
||||
LLOGLN(10, ("rdpImageText16: getting dirty"));
|
||||
g_screenPriv.is_dirty = 1;
|
||||
pDirtyPriv = &g_screenPriv;
|
||||
dirty_type = RDI_IMGLL;
|
||||
|
@ -106,7 +106,7 @@ rdpImageText8(DrawablePtr pDrawable, GCPtr pGC,
|
||||
|
||||
if (g_do_dirty_os)
|
||||
{
|
||||
LLOGLN(10, ("rdpImageText8: gettig dirty"));
|
||||
LLOGLN(10, ("rdpImageText8: getting dirty"));
|
||||
pDstPriv->is_dirty = 1;
|
||||
pDirtyPriv = pDstPriv;
|
||||
dirty_type = RDI_IMGLL;
|
||||
@ -132,7 +132,7 @@ rdpImageText8(DrawablePtr pDrawable, GCPtr pGC,
|
||||
|
||||
if (g_do_dirty_ons)
|
||||
{
|
||||
LLOGLN(0, ("rdpImageText8: gettig dirty"));
|
||||
LLOGLN(10, ("rdpImageText8: getting dirty"));
|
||||
g_screenPriv.is_dirty = 1;
|
||||
pDirtyPriv = &g_screenPriv;
|
||||
dirty_type = RDI_IMGLL;
|
||||
|
@ -125,7 +125,7 @@ rdpPolyArc(DrawablePtr pDrawable, GCPtr pGC, int narcs, xArc *parcs)
|
||||
|
||||
if (g_do_dirty_os)
|
||||
{
|
||||
LLOGLN(10, ("rdpPolyArc: gettig dirty"));
|
||||
LLOGLN(10, ("rdpPolyArc: getting dirty"));
|
||||
pDstPriv->is_dirty = 1;
|
||||
pDirtyPriv = pDstPriv;
|
||||
dirty_type = RDI_IMGLL;
|
||||
@ -151,7 +151,7 @@ rdpPolyArc(DrawablePtr pDrawable, GCPtr pGC, int narcs, xArc *parcs)
|
||||
|
||||
if (g_do_dirty_ons)
|
||||
{
|
||||
LLOGLN(0, ("rdpPolyArc: gettig dirty"));
|
||||
LLOGLN(10, ("rdpPolyArc: getting dirty"));
|
||||
g_screenPriv.is_dirty = 1;
|
||||
pDirtyPriv = &g_screenPriv;
|
||||
dirty_type = RDI_IMGLL;
|
||||
|
@ -125,7 +125,7 @@ rdpPolyFillArc(DrawablePtr pDrawable, GCPtr pGC, int narcs, xArc *parcs)
|
||||
|
||||
if (g_do_dirty_os)
|
||||
{
|
||||
LLOGLN(10, ("rdpPolyFillArc: gettig dirty"));
|
||||
LLOGLN(10, ("rdpPolyFillArc: getting dirty"));
|
||||
pDstPriv->is_dirty = 1;
|
||||
pDirtyPriv = pDstPriv;
|
||||
dirty_type = RDI_IMGLY;
|
||||
@ -151,7 +151,7 @@ rdpPolyFillArc(DrawablePtr pDrawable, GCPtr pGC, int narcs, xArc *parcs)
|
||||
|
||||
if (g_do_dirty_ons)
|
||||
{
|
||||
LLOGLN(0, ("rdpPolyFillArc: gettig dirty"));
|
||||
LLOGLN(10, ("rdpPolyFillArc: getting dirty"));
|
||||
g_screenPriv.is_dirty = 1;
|
||||
pDirtyPriv = &g_screenPriv;
|
||||
dirty_type = RDI_IMGLL;
|
||||
|
@ -105,7 +105,7 @@ rdpPolyFillRect(DrawablePtr pDrawable, GCPtr pGC, int nrectFill,
|
||||
|
||||
if (g_do_dirty_ons)
|
||||
{
|
||||
LLOGLN(10, ("rdpPolyFillRect: gettig dirty"));
|
||||
LLOGLN(10, ("rdpPolyFillRect: getting dirty"));
|
||||
g_screenPriv.is_dirty = 1;
|
||||
pDirtyPriv = &g_screenPriv;
|
||||
dirty_type = RDI_IMGLL;
|
||||
@ -122,7 +122,7 @@ rdpPolyFillRect(DrawablePtr pDrawable, GCPtr pGC, int nrectFill,
|
||||
|
||||
if (g_do_dirty_os)
|
||||
{
|
||||
LLOGLN(10, ("rdpPolyFillRect: gettig dirty"));
|
||||
LLOGLN(10, ("rdpPolyFillRect: getting dirty"));
|
||||
pDstPriv->is_dirty = 1;
|
||||
pDirtyPriv = pDstPriv;
|
||||
dirty_type = RDI_FILL;
|
||||
@ -148,7 +148,7 @@ rdpPolyFillRect(DrawablePtr pDrawable, GCPtr pGC, int nrectFill,
|
||||
|
||||
if (g_do_dirty_ons)
|
||||
{
|
||||
LLOGLN(10, ("rdpPolyFillRect: gettig dirty"));
|
||||
LLOGLN(10, ("rdpPolyFillRect: getting dirty"));
|
||||
g_screenPriv.is_dirty = 1;
|
||||
pDirtyPriv = &g_screenPriv;
|
||||
dirty_type = RDI_IMGLL;
|
||||
|
@ -108,7 +108,7 @@ rdpPolyGlyphBlt(DrawablePtr pDrawable, GCPtr pGC,
|
||||
|
||||
if (g_do_dirty_os)
|
||||
{
|
||||
LLOGLN(10, ("rdpPolyGlyphBlt: gettig dirty"));
|
||||
LLOGLN(10, ("rdpPolyGlyphBlt: getting dirty"));
|
||||
pDstPriv->is_dirty = 1;
|
||||
pDirtyPriv = pDstPriv;
|
||||
dirty_type = RDI_IMGLY;
|
||||
@ -134,7 +134,7 @@ rdpPolyGlyphBlt(DrawablePtr pDrawable, GCPtr pGC,
|
||||
|
||||
if (g_do_dirty_ons)
|
||||
{
|
||||
LLOGLN(0, ("rdpPolyGlyphBlt: gettig dirty"));
|
||||
LLOGLN(10, ("rdpPolyGlyphBlt: getting dirty"));
|
||||
g_screenPriv.is_dirty = 1;
|
||||
pDirtyPriv = &g_screenPriv;
|
||||
dirty_type = RDI_IMGLL;
|
||||
|
@ -156,7 +156,7 @@ rdpPolyPoint(DrawablePtr pDrawable, GCPtr pGC, int mode,
|
||||
|
||||
if (g_do_dirty_os)
|
||||
{
|
||||
LLOGLN(10, ("rdpPolyPoint: gettig dirty"));
|
||||
LLOGLN(10, ("rdpPolyPoint: getting dirty"));
|
||||
pDstPriv->is_dirty = 1;
|
||||
pDirtyPriv = pDstPriv;
|
||||
dirty_type = RDI_IMGLL;
|
||||
@ -182,7 +182,7 @@ rdpPolyPoint(DrawablePtr pDrawable, GCPtr pGC, int mode,
|
||||
|
||||
if (g_do_dirty_ons)
|
||||
{
|
||||
LLOGLN(0, ("rdpPolyPoint: gettig dirty"));
|
||||
LLOGLN(10, ("rdpPolyPoint: getting dirty"));
|
||||
g_screenPriv.is_dirty = 1;
|
||||
pDirtyPriv = &g_screenPriv;
|
||||
dirty_type = RDI_IMGLL;
|
||||
|
@ -118,7 +118,7 @@ rdpPolyRectangle(DrawablePtr pDrawable, GCPtr pGC, int nrects,
|
||||
|
||||
if (g_do_dirty_os)
|
||||
{
|
||||
LLOGLN(10, ("rdpPolyRectangle: gettig dirty"));
|
||||
LLOGLN(10, ("rdpPolyRectangle: getting dirty"));
|
||||
pDstPriv->is_dirty = 1;
|
||||
pDirtyPriv = pDstPriv;
|
||||
dirty_type = RDI_IMGLL;
|
||||
@ -144,7 +144,7 @@ rdpPolyRectangle(DrawablePtr pDrawable, GCPtr pGC, int nrects,
|
||||
|
||||
if (g_do_dirty_ons)
|
||||
{
|
||||
LLOGLN(10, ("rdpPolyRectangle: gettig dirty"));
|
||||
LLOGLN(10, ("rdpPolyRectangle: getting dirty"));
|
||||
g_screenPriv.is_dirty = 1;
|
||||
pDirtyPriv = &g_screenPriv;
|
||||
dirty_type = RDI_IMGLL;
|
||||
|
@ -115,7 +115,7 @@ rdpPolySegment(DrawablePtr pDrawable, GCPtr pGC, int nseg, xSegment *pSegs)
|
||||
|
||||
if (g_do_dirty_os)
|
||||
{
|
||||
LLOGLN(10, ("rdpPolySegment: gettig dirty"));
|
||||
LLOGLN(10, ("rdpPolySegment: getting dirty"));
|
||||
pDstPriv->is_dirty = 1;
|
||||
pDirtyPriv = pDstPriv;
|
||||
dirty_type = RDI_IMGLL;
|
||||
@ -141,7 +141,7 @@ rdpPolySegment(DrawablePtr pDrawable, GCPtr pGC, int nseg, xSegment *pSegs)
|
||||
|
||||
if (g_do_dirty_ons)
|
||||
{
|
||||
LLOGLN(10, ("rdpPolySegment: gettig dirty"));
|
||||
LLOGLN(10, ("rdpPolySegment: getting dirty"));
|
||||
g_screenPriv.is_dirty = 1;
|
||||
pDirtyPriv = &g_screenPriv;
|
||||
dirty_type = RDI_IMGLL;
|
||||
|
@ -109,7 +109,7 @@ rdpPolyText16(DrawablePtr pDrawable, GCPtr pGC,
|
||||
|
||||
if (g_do_dirty_os)
|
||||
{
|
||||
LLOGLN(10, ("rdpPolyText16: gettig dirty"));
|
||||
LLOGLN(10, ("rdpPolyText16: getting dirty"));
|
||||
pDstPriv->is_dirty = 1;
|
||||
pDirtyPriv = pDstPriv;
|
||||
dirty_type = RDI_IMGLY;
|
||||
@ -135,7 +135,7 @@ rdpPolyText16(DrawablePtr pDrawable, GCPtr pGC,
|
||||
|
||||
if (g_do_dirty_ons)
|
||||
{
|
||||
LLOGLN(0, ("rdpPolyText16: gettig dirty"));
|
||||
LLOGLN(10, ("rdpPolyText16: getting dirty"));
|
||||
g_screenPriv.is_dirty = 1;
|
||||
pDirtyPriv = &g_screenPriv;
|
||||
dirty_type = RDI_IMGLL;
|
||||
|
@ -109,7 +109,7 @@ rdpPolyText8(DrawablePtr pDrawable, GCPtr pGC,
|
||||
|
||||
if (g_do_dirty_os)
|
||||
{
|
||||
LLOGLN(10, ("rdpPolyText8: gettig dirty"));
|
||||
LLOGLN(10, ("rdpPolyText8: getting dirty"));
|
||||
pDstPriv->is_dirty = 1;
|
||||
pDirtyPriv = pDstPriv;
|
||||
dirty_type = RDI_IMGLY;
|
||||
@ -135,7 +135,7 @@ rdpPolyText8(DrawablePtr pDrawable, GCPtr pGC,
|
||||
|
||||
if (g_do_dirty_ons)
|
||||
{
|
||||
LLOGLN(0, ("rdpPolyText8: gettig dirty"));
|
||||
LLOGLN(10, ("rdpPolyText8: getting dirty"));
|
||||
g_screenPriv.is_dirty = 1;
|
||||
pDirtyPriv = &g_screenPriv;
|
||||
dirty_type = RDI_IMGLL;
|
||||
|
@ -166,7 +166,7 @@ rdpPolylines(DrawablePtr pDrawable, GCPtr pGC, int mode,
|
||||
|
||||
if (g_do_dirty_os)
|
||||
{
|
||||
LLOGLN(10, ("rdpPolylines: gettig dirty"));
|
||||
LLOGLN(10, ("rdpPolylines: getting dirty"));
|
||||
pDstPriv->is_dirty = 1;
|
||||
pDirtyPriv = pDstPriv;
|
||||
dirty_type = RDI_IMGLL;
|
||||
@ -192,7 +192,7 @@ rdpPolylines(DrawablePtr pDrawable, GCPtr pGC, int mode,
|
||||
|
||||
if (g_do_dirty_ons)
|
||||
{
|
||||
LLOGLN(10, ("rdpPolylines: gettig dirty"));
|
||||
LLOGLN(10, ("rdpPolylines: getting dirty"));
|
||||
g_screenPriv.is_dirty = 1;
|
||||
pDirtyPriv = &g_screenPriv;
|
||||
dirty_type = RDI_IMGLL;
|
||||
|
@ -102,7 +102,7 @@ rdpPushPixels(GCPtr pGC, PixmapPtr pBitMap, DrawablePtr pDst,
|
||||
|
||||
if (g_do_dirty_os)
|
||||
{
|
||||
LLOGLN(10, ("rdpPushPixels: gettig dirty"));
|
||||
LLOGLN(10, ("rdpPushPixels: getting dirty"));
|
||||
pDstPriv->is_dirty = 1;
|
||||
pDirtyPriv = pDstPriv;
|
||||
dirty_type = RDI_IMGLY;
|
||||
@ -128,7 +128,7 @@ rdpPushPixels(GCPtr pGC, PixmapPtr pBitMap, DrawablePtr pDst,
|
||||
|
||||
if (g_do_dirty_ons)
|
||||
{
|
||||
LLOGLN(0, ("rdpPushPixels: gettig dirty"));
|
||||
LLOGLN(10, ("rdpPushPixels: getting dirty"));
|
||||
g_screenPriv.is_dirty = 1;
|
||||
pDirtyPriv = &g_screenPriv;
|
||||
dirty_type = RDI_IMGLL;
|
||||
|
@ -106,7 +106,7 @@ rdpPutImage(DrawablePtr pDst, GCPtr pGC, int depth, int x, int y,
|
||||
|
||||
if (g_do_dirty_os)
|
||||
{
|
||||
LLOGLN(10, ("rdpPutImage: gettig dirty"));
|
||||
LLOGLN(10, ("rdpPutImage: getting dirty"));
|
||||
pDstPriv->is_dirty = 1;
|
||||
pDirtyPriv = pDstPriv;
|
||||
dirty_type = RDI_IMGLY;
|
||||
@ -132,7 +132,7 @@ rdpPutImage(DrawablePtr pDst, GCPtr pGC, int depth, int x, int y,
|
||||
|
||||
if (g_do_dirty_ons)
|
||||
{
|
||||
LLOGLN(10, ("rdpPutImage: gettig dirty"));
|
||||
LLOGLN(10, ("rdpPutImage: getting dirty"));
|
||||
g_screenPriv.is_dirty = 1;
|
||||
pDirtyPriv = &g_screenPriv;
|
||||
dirty_type = RDI_IMGLL;
|
||||
|
@ -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 */
|
||||
|
||||
@ -95,7 +97,7 @@ rdpSetSpans(DrawablePtr pDrawable, GCPtr pGC, char *psrc,
|
||||
|
||||
if (g_do_dirty_os)
|
||||
{
|
||||
LLOGLN(10, ("rdpSetSpans: gettig dirty"));
|
||||
LLOGLN(10, ("rdpSetSpans: getting dirty"));
|
||||
pDstPriv->is_dirty = 1;
|
||||
pDirtyPriv = pDstPriv;
|
||||
dirty_type = RDI_IMGLY;
|
||||
@ -118,8 +120,18 @@ rdpSetSpans(DrawablePtr pDrawable, GCPtr pGC, char *psrc,
|
||||
if (pDstWnd->viewable)
|
||||
{
|
||||
post_process = 1;
|
||||
rdpup_get_screen_image_rect(&id);
|
||||
got_id = 1;
|
||||
if (g_do_dirty_ons)
|
||||
{
|
||||
LLOGLN(10, ("rdpSetSpans: getting dirty"));
|
||||
g_screenPriv.is_dirty = 1;
|
||||
pDirtyPriv = &g_screenPriv;
|
||||
dirty_type = RDI_IMGLL;
|
||||
}
|
||||
else
|
||||
{
|
||||
rdpup_get_screen_image_rect(&id);
|
||||
got_id = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -481,15 +481,67 @@ draw_item_remove_all(rdpPixmapRec *priv)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
static int
|
||||
remove_empties(rdpPixmapRec* priv)
|
||||
{
|
||||
struct rdp_draw_item* di;
|
||||
struct rdp_draw_item* di_prev;
|
||||
int rv;
|
||||
|
||||
rv = 0;
|
||||
/* remove draw items with empty regions */
|
||||
di = priv->draw_item_head;
|
||||
di_prev = 0;
|
||||
while (di != 0)
|
||||
{
|
||||
if (!RegionNotEmpty(di->reg))
|
||||
{
|
||||
LLOGLN(10, ("remove_empties: removing empty item type %d", di->type));
|
||||
draw_item_remove(priv, di);
|
||||
di = di_prev == 0 ? priv->draw_item_head : di_prev->next;
|
||||
rv++;
|
||||
}
|
||||
else
|
||||
{
|
||||
di_prev = di;
|
||||
di = di->next;
|
||||
}
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
int
|
||||
draw_item_pack(PixmapPtr pix, rdpPixmapRec *priv)
|
||||
{
|
||||
struct rdp_draw_item *di;
|
||||
struct rdp_draw_item *di_prev;
|
||||
BoxRec box;
|
||||
RegionRec treg;
|
||||
|
||||
#if 1
|
||||
if (pix != 0)
|
||||
{
|
||||
box.x1 = 0;
|
||||
box.x2 = pix->drawable.width;
|
||||
box.y1 = 0;
|
||||
box.y2 = pix->drawable.height;
|
||||
RegionInit(&treg, &box, 0);
|
||||
di = priv->draw_item_head;
|
||||
di_prev = 0;
|
||||
while (di != 0)
|
||||
{
|
||||
RegionIntersect(di->reg, di->reg, &treg);
|
||||
di_prev = di;
|
||||
di = di->next;
|
||||
}
|
||||
RegionUninit(&treg);
|
||||
remove_empties(priv);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if 1
|
||||
/* look for repeating draw types */
|
||||
if (priv->draw_item_head != 0)
|
||||
{
|
||||
@ -522,10 +574,10 @@ draw_item_pack(PixmapPtr pix, rdpPixmapRec *priv)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
remove_empties(priv);
|
||||
#endif
|
||||
#if 0
|
||||
|
||||
#if 0
|
||||
/* subtract regions */
|
||||
if (priv->draw_item_tail != 0)
|
||||
{
|
||||
@ -556,30 +608,9 @@ draw_item_pack(PixmapPtr pix, rdpPixmapRec *priv)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
remove_empties(priv);
|
||||
#endif
|
||||
#if 1
|
||||
|
||||
/* remove draw items with empty regions */
|
||||
di = priv->draw_item_head;
|
||||
di_prev = 0;
|
||||
|
||||
while (di != 0)
|
||||
{
|
||||
if (!RegionNotEmpty(di->reg))
|
||||
{
|
||||
LLOGLN(10, ("draw_item_pack: removing empty item type %d", di->type));
|
||||
draw_item_remove(priv, di);
|
||||
di = di_prev == 0 ? priv->draw_item_head : di_prev->next;
|
||||
}
|
||||
else
|
||||
{
|
||||
di_prev = di;
|
||||
di = di->next;
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1345,7 +1376,7 @@ rdpComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst,
|
||||
|
||||
if (g_do_dirty_os)
|
||||
{
|
||||
LLOGLN(10, ("rdpComposite: gettig dirty"));
|
||||
LLOGLN(10, ("rdpComposite: getting dirty"));
|
||||
pDstPriv->is_dirty = 1;
|
||||
dirty_type = g_doing_font ? RDI_IMGLL : RDI_IMGLY;
|
||||
pDirtyPriv = pDstPriv;
|
||||
@ -1373,7 +1404,7 @@ rdpComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst,
|
||||
|
||||
if (g_do_dirty_ons)
|
||||
{
|
||||
LLOGLN(10, ("rdpComposite: gettig dirty"));
|
||||
LLOGLN(10, ("rdpComposite: getting dirty"));
|
||||
g_screenPriv.is_dirty = 1;
|
||||
pDirtyPriv = &g_screenPriv;
|
||||
dirty_type = RDI_IMGLL;
|
||||
|
@ -137,8 +137,9 @@ xrdp_cache_reset(struct xrdp_cache *self,
|
||||
}
|
||||
|
||||
#define COMPARE_WITH_CRC(_b1, _b2) \
|
||||
_b1 != 0 && _b2 != 0 && _b1->crc == _b2->crc && _b1->bpp == _b2->bpp && \
|
||||
_b1->width == _b1->width && _b1->height == _b2->height
|
||||
((_b1 != 0) && (_b2 != 0) && (_b1->crc == _b2->crc) && \
|
||||
(_b1->bpp == _b2->bpp) && \
|
||||
(_b1->width == _b2->width) && (_b1->height == _b2->height))
|
||||
|
||||
/*****************************************************************************/
|
||||
/* returns cache id */
|
||||
@ -174,8 +175,6 @@ xrdp_cache_add_bitmap(struct xrdp_cache *self, struct xrdp_bitmap *bitmap,
|
||||
for (j = 0; j < self->cache1_entries; j++)
|
||||
{
|
||||
#ifdef USE_CRC
|
||||
|
||||
//if (xrdp_bitmap_compare_with_crc(self->bitmap_items[i][j].bitmap, bitmap))
|
||||
if (COMPARE_WITH_CRC(self->bitmap_items[i][j].bitmap, bitmap))
|
||||
#else
|
||||
if (xrdp_bitmap_compare(self->bitmap_items[i][j].bitmap, bitmap))
|
||||
@ -195,8 +194,6 @@ xrdp_cache_add_bitmap(struct xrdp_cache *self, struct xrdp_bitmap *bitmap,
|
||||
for (j = 0; j < self->cache2_entries; j++)
|
||||
{
|
||||
#ifdef USE_CRC
|
||||
|
||||
//if (xrdp_bitmap_compare_with_crc(self->bitmap_items[i][j].bitmap, bitmap))
|
||||
if (COMPARE_WITH_CRC(self->bitmap_items[i][j].bitmap, bitmap))
|
||||
#else
|
||||
if (xrdp_bitmap_compare(self->bitmap_items[i][j].bitmap, bitmap))
|
||||
@ -216,8 +213,6 @@ xrdp_cache_add_bitmap(struct xrdp_cache *self, struct xrdp_bitmap *bitmap,
|
||||
for (j = 0; j < self->cache3_entries; j++)
|
||||
{
|
||||
#ifdef USE_CRC
|
||||
|
||||
//if (xrdp_bitmap_compare_with_crc(self->bitmap_items[i][j].bitmap, bitmap))
|
||||
if (COMPARE_WITH_CRC(self->bitmap_items[i][j].bitmap, bitmap))
|
||||
#else
|
||||
if (xrdp_bitmap_compare(self->bitmap_items[i][j].bitmap, bitmap))
|
||||
|
Loading…
Reference in New Issue
Block a user