summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Sorg <jay.sorg@gmail.com>2012-12-29 00:49:00 -0800
committerJay Sorg <jay.sorg@gmail.com>2012-12-29 00:49:00 -0800
commit3eb3f65e412ca18f4b54e1c7318be98b04cbfe33 (patch)
treede59203913717520adb65ac5ef3eb66d2dee0d6c
parentb3dcfdaa37644cdd271f509ae56d197be9b83fa2 (diff)
downloadxrdp-proprietary-3eb3f65e412ca18f4b54e1c7318be98b04cbfe33.tar.gz
xrdp-proprietary-3eb3f65e412ca18f4b54e1c7318be98b04cbfe33.zip
X11rdp: keyboard and offscreen bitmap fix
-rw-r--r--xorg/X11R7.6/rdp/rdpinput.c7
-rw-r--r--xorg/X11R7.6/rdp/rdpup.c1
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;