diff --git a/xorg/X11R7.6/rdp/rdpinput.c b/xorg/X11R7.6/rdp/rdpinput.c index 84418dc8..4d11ad11 100644 --- a/xorg/X11R7.6/rdp/rdpinput.c +++ b/xorg/X11R7.6/rdp/rdpinput.c @@ -606,6 +606,12 @@ rdpSpriteSetCursor(DeviceIntPtr pDev, ScreenPtr pScr, CursorPtr pCurs, if (pCurs == 0) { + // HACK to support blank cursors + memset(cur_data, 0, sizeof(cur_data)); + memset(cur_mask, 0xffffffff, sizeof(cur_mask)); + rdpup_begin_update(); + rdpup_set_cursor(16, 16, cur_data, cur_mask); + rdpup_end_update(); return; } if (pCurs->bits == 0) diff --git a/xup/xup.c b/xup/xup.c index cb94af80..456dee98 100644 --- a/xup/xup.c +++ b/xup/xup.c @@ -251,7 +251,9 @@ lib_mod_connect(struct mod* mod) // FIXME CRITICAL // Prevent an immediate RDP exit // Why is this still needed even after waiting for the X11rdp server to start!?!? - g_sleep(5000); + // I suspect the X11rdp server is not quite ready to accept new connections when we try to connect + // It is possible that this problem will go away on an Infiniband interconnect, but for now sleeping for 10 seconds seems to work around the problem on 100M Ethernet + g_sleep(10000); if (g_strcmp(mod->ip, "") == 0) {