[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