diff --git a/xorg/X11R7.6/rdp/rdpinput.c b/xorg/X11R7.6/rdp/rdpinput.c index f221ae34..cbb4962a 100644 --- a/xorg/X11R7.6/rdp/rdpinput.c +++ b/xorg/X11R7.6/rdp/rdpinput.c @@ -706,6 +706,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; } diff --git a/xup/xup.c b/xup/xup.c index df4ee7d8..32b84f50 100644 --- a/xup/xup.c +++ b/xup/xup.c @@ -263,7 +263,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) {