git » freerdp.git » commit 015cb03

upd

author Sergej Pupykin
2014-06-25 13:25:11 UTC
committer Sergej Pupykin
2014-06-25 13:25:11 UTC
parent ae3d81684ce1e1254412059f7477373aa1eed242

upd

PKGBUILD +8 -5
stuck_winkey.patch +13 -0

diff --git a/PKGBUILD b/PKGBUILD
index bf9c324..2ae0413 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@
 
 pkgname=freerdp
 pkgver=1.0.2
-pkgrel=5
+pkgrel=6
 pkgdesc="Free RDP client"
 arch=('i686' 'x86_64')
 url="http://freerdp.sourceforge.net"
@@ -14,19 +14,22 @@ makedepends=('krb5' 'cmake' 'damageproto' 'xmlto' 'docbook-xsl')
 conflicts=('freerdp-git')
 changelog=${pkgname}.changelog
 source=($pkgname-$pkgver.tar.gz::https://github.com/FreeRDP/FreeRDP/archive/$pkgver.tar.gz
-        ffmpeg2.0.patch
-        patch_numblock.patch
-        CVE-2014-0791.patch)
+	ffmpeg2.0.patch
+	patch_numblock.patch
+	CVE-2014-0791.patch
+	stuck_winkey.patch)
 md5sums=('c260051a94caff590def5caa4fcf59d6'
          '1260eecf01ea5212e2db8ac9c5e7fa6d'
          'ac581d445ded7cdbd59082a48d9c28ac'
-         '62d0ab241c16ee5d85ff89183df9bbc0')
+         '62d0ab241c16ee5d85ff89183df9bbc0'
+         '1c1a8f77ebcaa7256968a9506ed3e772')
 
 prepare() {
   cd $srcdir/FreeRDP-$pkgver
   patch -Np1 -i ../ffmpeg2.0.patch
   patch -Np1 -i ../patch_numblock.patch
   patch -Np1 -i ../CVE-2014-0791.patch
+  patch -Np1 -i ../stuck_winkey.patch
 }
 
 build() {
diff --git a/stuck_winkey.patch b/stuck_winkey.patch
new file mode 100644
index 0000000..bb84589
--- /dev/null
+++ b/stuck_winkey.patch
@@ -0,0 +1,13 @@
+diff -rup FreeRDP-1.0.2-old/client/X11/xf_keyboard.c FreeRDP-1.0.2-new/client/X11/xf_keyboard.c
+--- FreeRDP-1.0.2-old/client/X11/xf_keyboard.c	2013-01-02 22:46:59.000000000 +0100
++++ FreeRDP-1.0.2-new/client/X11/xf_keyboard.c	2014-06-24 17:45:44.062728740 +0200
+@@ -169,6 +169,9 @@ void xf_kbd_focus_in(xfInfo* xfi)
+ 	/* on focus in send a tab up like mstsc.exe */
+ 	input->KeyboardEvent(input, KBD_FLAGS_RELEASE, 0x0F);
+ 
++	/* release windows key */
++	input->KeyboardEvent(input, KBD_FLAGS_EXTENDED|KBD_FLAGS_RELEASE, 0x5B);
++
+ 	/* synchronize toggle keys */
+ 	syncFlags = xf_kbd_get_toggle_keys_state(xfi);
+ 	input->SynchronizeEvent(input, syncFlags);