diff options
Diffstat (limited to 'xorg/server/xrdpdev/xrdpdev.c')
-rw-r--r-- | xorg/server/xrdpdev/xrdpdev.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/xorg/server/xrdpdev/xrdpdev.c b/xorg/server/xrdpdev/xrdpdev.c index a4f39b46..cc863d4d 100644 --- a/xorg/server/xrdpdev/xrdpdev.c +++ b/xorg/server/xrdpdev/xrdpdev.c @@ -45,6 +45,8 @@ This is the main driver file #include "rdpCursor.h" #include "rdpRandR.h" #include "rdpMisc.h" +#include "rdpComposite.h" +#include "rdpGlyphs.h" #define XRDP_DRIVER_NAME "XRDPDEV" #define XRDP_NAME "XRDPDEV" @@ -402,6 +404,7 @@ rdpScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) rdpPtr dev; VisualPtr vis; Bool vis_found; + PictureScreenPtr ps; pScrn = xf86Screens[scrnIndex]; dev = XRDPPTR(pScrn); @@ -507,6 +510,17 @@ rdpScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) dev->ModifyPixmapHeader = pScreen->ModifyPixmapHeader; pScreen->ModifyPixmapHeader = rdpModifyPixmapHeader; + ps = GetPictureScreenIfSet(pScreen); + if (ps != 0) + { + /* composite */ + dev->Composite = ps->Composite; + ps->Composite = rdpComposite; + /* glyphs */ + dev->Glyphs = ps->Glyphs; + ps->Glyphs = rdpGlyphs; + } + g_timer = TimerSet(g_timer, 0, 10, rdpDeferredRandR, pScreen); LLOGLN(0, ("rdpScreenInit: out")); |