[packages/tigervnc] - don't use undefined key_is_down (patch from fedora) - rel 4

baggins baggins at pld-linux.org
Sun Aug 11 19:53:51 CEST 2013


commit 773b64b1f4092b1075e41cadaf24158aead6d541
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Sun Aug 11 19:52:58 2013 +0200

    - don't use undefined key_is_down (patch from fedora)
    - rel 4

 tigervnc-key_is_down.patch | 50 ++++++++++++++++++++++++++++++++++++++++++++++
 tigervnc.spec              |  4 +++-
 2 files changed, 53 insertions(+), 1 deletion(-)
---
diff --git a/tigervnc.spec b/tigervnc.spec
index 33d78b0..966c6a3 100644
--- a/tigervnc.spec
+++ b/tigervnc.spec
@@ -4,7 +4,7 @@ Summary:	A TigerVNC remote display system
 Summary(pl.UTF-8):	System zdalnego dostępu TigerVNC
 Name:		tigervnc
 Version:	1.3.0
-Release:	3
+Release:	4
 License:	GPL v2
 Group:		X11/Applications/Networking
 Source0:	http://download.sourceforge.net/tigervnc/%{name}-%{version}.tar.bz2
@@ -23,6 +23,7 @@ Patch7:		format-security.patch
 Patch8:		%{name}-typecast.patch
 Patch9:		tigervnc-xstartup.patch
 Patch10:	xserver.patch
+Patch11:	tigervnc-key_is_down.patch
 URL:		http://www.tigervnc.com/
 BuildRequires:	ImageMagick
 BuildRequires:	ImageMagick-coder-png
@@ -184,6 +185,7 @@ pozwalający na zdalny dostęp do pulpitu.
 %patch7 -p1
 %patch8 -p1
 %patch9 -p1
+%patch11 -p1
 
 cp -a %{_usrsrc}/xorg-xserver-server-%{_xserverver}/* unix/xserver
 
diff --git a/tigervnc-key_is_down.patch b/tigervnc-key_is_down.patch
new file mode 100644
index 0000000..98cdf49
--- /dev/null
+++ b/tigervnc-key_is_down.patch
@@ -0,0 +1,50 @@
+diff -up tigervnc-1.3.0/unix/xserver/hw/vnc/InputXKB.cc.key_is_down tigervnc-1.3.0/unix/xserver/hw/vnc/InputXKB.cc
+--- tigervnc-1.3.0/unix/xserver/hw/vnc/InputXKB.cc.key_is_down	2013-07-24 12:54:41.461930866 +0100
++++ tigervnc-1.3.0/unix/xserver/hw/vnc/InputXKB.cc	2013-07-24 13:04:39.743663652 +0100
+@@ -321,7 +321,11 @@ std::list<KeyCode> InputDevice::releaseS
+ 		XkbAction *act;
+ 		unsigned char mask;
+ 
+-		if (!key_is_down(master, key, KEY_PROCESSED))
++		int bit;
++		BYTE *kptr;
++		kptr = &master->key->down[key >> 3];
++		bit = 1 << (key & 7);
++		if (*kptr & bit)
+ 			continue;
+ 
+ 		act = XkbKeyActionPtr(xkb, key, state);
+@@ -402,7 +406,11 @@ std::list<KeyCode> InputDevice::releaseL
+ 		XkbAction *act;
+ 		unsigned char key_mask;
+ 
+-		if (!key_is_down(master, key, KEY_PROCESSED))
++		int bit;
++		BYTE *kptr;
++		kptr = &master->key->down[key >> 3];
++		bit = 1 << (key & 7);
++		if (*kptr & bit)
+ 			continue;
+ 
+ 		act = XkbKeyActionPtr(xkb, key, state);
+@@ -638,6 +646,8 @@ void InputDevice::vncXkbProcessDeviceEve
+ 
+ 	if (event->device_event.sourceid == self->keyboardDev->id) {
+ 		XkbControlsPtr ctrls;
++		int bit;
++		BYTE *kptr;
+ 
+ 		/*
+ 		 * We need to bypass AccessX since it is timing sensitive and
+@@ -651,8 +661,10 @@ void InputDevice::vncXkbProcessDeviceEve
+ 		 * This flag needs to be set for key repeats to be properly
+ 		 * respected.
+ 		 */
++		kptr = &dev->key->down[event->device_event.detail.key >> 3];
++		bit = 1 << (event->device_event.detail.key & 7);
+ 		if ((event->device_event.type == ET_KeyPress) &&
+-		    key_is_down(dev, event->device_event.detail.key, KEY_PROCESSED))
++		    (*kptr & bit))
+ 			event->device_event.key_repeat = TRUE;
+ 	}
+ 
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/tigervnc.git/commitdiff/773b64b1f4092b1075e41cadaf24158aead6d541



More information about the pld-cvs-commit mailing list