diff --git a/module/rdpClientCon.c b/module/rdpClientCon.c index c3a6494b..3f7938ae 100644 --- a/module/rdpClientCon.c +++ b/module/rdpClientCon.c @@ -564,7 +564,7 @@ rdpClientConProcessScreenSizeMsg(rdpPtr dev, rdpClientCon *clientCon, { clientCon->rdp_Bpp = 1; clientCon->rdp_Bpp_mask = 0xff; - clientCon->rdp_format = PIXMAN_r3g3b2; + clientCon->rdp_format = XRDP_r3g3b2; } else if (bpp == 15) { diff --git a/module/rdpDraw.h b/module/rdpDraw.h index 583ac7d1..8a643672 100644 --- a/module/rdpDraw.h +++ b/module/rdpDraw.h @@ -38,9 +38,20 @@ misc draw calls /* true if drawable is window or pixmap is screen */ #define XRDP_DRAWABLE_IS_VISIBLE(_dev, _drw) \ -(((_drw)->type == DRAWABLE_WINDOW && ((WindowPtr)(_drw))->viewable) || \ - ((_drw)->type == DRAWABLE_PIXMAP && \ - ((PixmapPtr)(_drw))->devPrivate.ptr == (_dev)->pfbMemory)) +( \ + ( \ + ((_drw)->type == DRAWABLE_WINDOW) && \ + (((WindowPtr)(_drw))->viewable) && \ + ( \ + (_drw)->pScreen->GetScreenPixmap((_drw)->pScreen) == \ + (_drw)->pScreen->GetWindowPixmap((WindowPtr)(_drw)) \ + ) \ + ) || \ + ( \ + ((_drw)->type == DRAWABLE_PIXMAP) && \ + (((PixmapPtr)(_drw))->devPrivate.ptr == (_dev)->pfbMemory) \ + ) \ +) /******************************************************************************/ #define GC_OP_VARS rdpPtr dev; rdpGCPtr priv; GCFuncs *oldFuncs