From 3eb3f65e412ca18f4b54e1c7318be98b04cbfe33 Mon Sep 17 00:00:00 2001 From: Jay Sorg Date: Sat, 29 Dec 2012 00:49:00 -0800 Subject: [PATCH] X11rdp: keyboard and offscreen bitmap fix --- xorg/X11R7.6/rdp/rdpinput.c | 7 +++++-- xorg/X11R7.6/rdp/rdpup.c | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/xorg/X11R7.6/rdp/rdpinput.c b/xorg/X11R7.6/rdp/rdpinput.c index b8e1746a..cefb5156 100644 --- a/xorg/X11R7.6/rdp/rdpinput.c +++ b/xorg/X11R7.6/rdp/rdpinput.c @@ -830,11 +830,14 @@ check_keysa(void) void sendDownUpKeyEvent(int type, int x_scancode) { - /* if type is keydown, send keydown + keyup */ - /* this allows us to ignore keyup events */ + /* if type is keydown, send keyup + keydown */ if (type == KeyPress) { + rdpEnqueueKey(KeyRelease, x_scancode); rdpEnqueueKey(KeyPress, x_scancode); + } + else + { rdpEnqueueKey(KeyRelease, x_scancode); } } diff --git a/xorg/X11R7.6/rdp/rdpup.c b/xorg/X11R7.6/rdp/rdpup.c index 13283b84..d1d654de 100644 --- a/xorg/X11R7.6/rdp/rdpup.c +++ b/xorg/X11R7.6/rdp/rdpup.c @@ -219,6 +219,7 @@ rdpup_add_os_bitmap(PixmapPtr pixmap, rdpPixmapPtr priv) LLOGLN(10, ("rdpup_add_os_bitmap: evicting old, oldest_index %d", oldest_index)); /* evict old */ g_os_bitmaps[oldest_index].priv->status = 0; + g_os_bitmaps[oldest_index].priv->con_number = 0; /* set new */ g_os_bitmaps[oldest_index].pixmap = pixmap; g_os_bitmaps[oldest_index].priv = priv;