rpms/xorg-x11-server/F-11 xserver-1.6.1-mousedrivers.patch, NONE, 1.1 xserver-1.6.1-xkbsendmap.patch, NONE, 1.1 xorg-x11-server.spec, 1.447, 1.448
Peter Hutterer
whot at fedoraproject.org
Mon May 25 00:01:59 UTC 2009
- Previous message: rpms/perl-DBIx-Class/devel .cvsignore, 1.3, 1.4 perl-DBIx-Class.spec, 1.8, 1.9 sources, 1.3, 1.4 verbose.patch, 1.2, NONE
- Next message: rpms/perl-DBIx-Class/devel perl-DBIx-Class.spec,1.9,1.10
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: whot
Update of /cvs/pkgs/rpms/xorg-x11-server/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv23913
Modified Files:
xorg-x11-server.spec
Added Files:
xserver-1.6.1-mousedrivers.patch
xserver-1.6.1-xkbsendmap.patch
Log Message:
* Mon May 25 2009 Peter Hutterer <peter.hutterer at redhat.com> 1.6.1.901-2
- xserver-1.6.1-mousedrivers.patch: treat other drivers as mouse drivers too
when parsing the config file (complements xserver-1.6.1-synaptics.patch)
- xserver-1.6.1-xkbsendmap.patch: Fix crash due to uninitialized VModMap fields.
xserver-1.6.1-mousedrivers.patch:
--- NEW FILE xserver-1.6.1-mousedrivers.patch ---
>From eb699604d34e4564dde221e0fc28eb6559969b4f Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer at who-t.net>
Date: Fri, 15 May 2009 08:33:07 +1000
Subject: [PATCH] xfree86: treat other drivers as mouse drivers in the config.
Historically, if no input device was referenced in the ServerLayout,
the server would pick the first "mouse" device found in the xorg.conf.
This patch gives evdev, synaptics, vmmouse and void the same status. If
there is a section in the config file using this driver - use it as the core
pointer.
Device selection is in driver-order, not in config-order. If a "mouse"
device is listed after a "synaptics" device, the "mouse" device gets
preference. This replicates the original behaviour.
This code only takes effect if AllowEmptyInput is off and there is no core
pointer in the server layout.
Red Hat Bug 499792 <https://bugzilla.redhat.com/show_bug.cgi?id=499792>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
hw/xfree86/common/xf86Config.c | 25 ++++++++++++++++---------
1 files changed, 16 insertions(+), 9 deletions(-)
diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
index 2ecb639..844e04a 100644
--- a/hw/xfree86/common/xf86Config.c
+++ b/hw/xfree86/common/xf86Config.c
@@ -1091,8 +1091,8 @@ Bool xf86DRI2Enabled(void)
* 2. The "CorePointer" and "CoreKeyboard" InputDevices referred to by
* the active ServerLayout.
* 3. The first InputDevices marked as "CorePointer" and "CoreKeyboard".
- * 4. The first InputDevices that use the 'mouse' and 'keyboard' or 'kbd'
- * drivers.
+ * 4. The first InputDevices that use 'keyboard' or 'kbd' and a valid mouse
+ * driver (mouse, synaptics, evdev, vmmouse, void)
* 5. Default devices with an empty (default) configuration. These defaults
* will reference the 'mouse' and 'keyboard' drivers.
*/
@@ -1111,6 +1111,8 @@ checkCoreInputDevices(serverLayoutPtr servlayoutp, Bool implicitLayout)
int count = 0;
MessageType from = X_DEFAULT;
int found = 0;
+ const char *mousedrivers[] = { "mouse", "synaptics", "evdev", "vmmouse",
+ "void", NULL };
/*
* First check if a core pointer or core keyboard have been specified
@@ -1220,13 +1222,15 @@ checkCoreInputDevices(serverLayoutPtr servlayoutp, Bool implicitLayout)
}
}
- /* 4. First pointer with 'mouse' as the driver. */
+ /* 4. First pointer with an allowed mouse driver. */
if (!foundPointer && !xf86Info.allowEmptyInput) {
+ const char **driver = mousedrivers;
confInput = xf86findInput(CONF_IMPLICIT_POINTER,
xf86configptr->conf_input_lst);
- if (!confInput) {
- confInput = xf86findInputByDriver("mouse",
+ while (driver && !confInput) {
+ confInput = xf86findInputByDriver(*driver,
xf86configptr->conf_input_lst);
+ driver++;
}
if (confInput) {
foundPointer = TRUE;
@@ -1281,10 +1285,13 @@ checkCoreInputDevices(serverLayoutPtr servlayoutp, Bool implicitLayout)
* section ... deal.
*/
for (devs = servlayoutp->inputs; devs && *devs; devs++) {
- if (!strcmp((*devs)->driver, "void") || !strcmp((*devs)->driver, "mouse") ||
- !strcmp((*devs)->driver, "vmmouse") || !strcmp((*devs)->driver, "evdev") ||
- !strcmp((*devs)->driver, "synaptics")) {
- found = 1; break;
+ const char **driver = mousedrivers;
+ while(*driver) {
+ if (!strcmp((*devs)->driver, *driver)) {
+ found = 1;
+ break;
+ }
+ driver++;
}
}
if (!found && !xf86Info.allowEmptyInput) {
--
1.6.3.rc1.2.g0164.dirty
xserver-1.6.1-xkbsendmap.patch:
--- NEW FILE xserver-1.6.1-xkbsendmap.patch ---
>From 525aa17f804d37d1cfcbbf6b8e6cddb45e999b20 Mon Sep 17 00:00:00 2001
From: Tomas Janousek <tomi at nomi.cz>
Date: Wed, 20 May 2009 15:03:01 +0200
Subject: [PATCH] Bug #6428, #16458, #21464: Fix crash due to uninitialized VModMap fields.
In ProcXkbGetKbdByName, mrep.firstVModMapKey, .nVModMapKeys and
.totalVModMapKeys were not initialized, contained random values and caused
accesses to unallocated and later modified memory, causing
XkbSizeVirtualModMap and XkbWriteVirtualModMap to see different number of
nonzero values, resulting in writes past the end of an array in XkbSendMap.
This patch initializes those values sensibly and reverts commits 5c0a2088 and
6dd4fc46, which have been plain non-sense.
Signed-off-by: Tomas Janousek <tomi at nomi.cz>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
xkb/xkb.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/xkb/xkb.c b/xkb/xkb.c
index 445c55f..ec46238 100644
--- a/xkb/xkb.c
+++ b/xkb/xkb.c
@@ -1308,7 +1308,7 @@ XkbSizeVirtualModMap(XkbDescPtr xkb,xkbGetMapReply *rep)
rep->totalVModMapKeys= 0;
return 0;
}
- for (nRtrn=i=0;i<rep->nVModMapKeys-1;i++) {
+ for (nRtrn=i=0;i<rep->nVModMapKeys;i++) {
if (xkb->server->vmodmap[i+rep->firstVModMapKey]!=0)
nRtrn++;
}
@@ -1327,7 +1327,7 @@ unsigned short * pMap;
wire= (xkbVModMapWireDesc *)buf;
pMap= &xkb->server->vmodmap[rep->firstVModMapKey];
- for (i=0;i<rep->nVModMapKeys-1;i++,pMap++) {
+ for (i=0;i<rep->nVModMapKeys;i++,pMap++) {
if (*pMap!=0) {
wire->key= i+rep->firstVModMapKey;
wire->vmods= *pMap;
@@ -5670,7 +5670,7 @@ ProcXkbGetKbdByName(ClientPtr client)
mrep.present = 0;
mrep.totalSyms = mrep.totalActs =
mrep.totalKeyBehaviors= mrep.totalKeyExplicit=
- mrep.totalModMapKeys= 0;
+ mrep.totalModMapKeys= mrep.totalVModMapKeys= 0;
if (rep.reported&(XkbGBN_TypesMask|XkbGBN_ClientSymbolsMask)) {
mrep.present|= XkbKeyTypesMask;
mrep.firstType = 0;
@@ -5696,6 +5696,8 @@ ProcXkbGetKbdByName(ClientPtr client)
mrep.firstKeyExplicit = new->min_key_code;
mrep.nKeyActs = mrep.nKeyBehaviors =
mrep.nKeyExplicit = XkbNumKeys(new);
+ mrep.firstVModMapKey= new->min_key_code;
+ mrep.nVModMapKeys= XkbNumKeys(new);
}
else {
mrep.virtualMods= 0;
--
1.6.3.rc1.2.g0164.dirty
Index: xorg-x11-server.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-server/F-11/xorg-x11-server.spec,v
retrieving revision 1.447
retrieving revision 1.448
diff -u -p -r1.447 -r1.448
--- xorg-x11-server.spec 18 May 2009 18:40:18 -0000 1.447
+++ xorg-x11-server.spec 25 May 2009 00:01:26 -0000 1.448
@@ -19,7 +19,7 @@
Summary: X.Org X11 X server
Name: xorg-x11-server
Version: 1.6.1.901
-Release: 1%{?dist}
+Release: 2%{?dist}
URL: http://www.x.org
License: MIT
Group: User Interface/X
@@ -111,6 +111,10 @@ Patch6040: xserver-1.6.1-vt-switch.patch
# from upstream, nominated for 1.6.2 (#499792)
Patch6041: xserver-1.6.1-synaptics.patch
Patch6042: xserver-1.6.1-proc-cmdline.patch
+# second part to xserver-1.6.1-synaptics.patch
+Patch6043: xserver-1.6.1-mousedrivers.patch
+# #456376, patch from upstream
+Patch6044: xserver-1.6.1-xkbsendmap.patch
%define moduledir %{_libdir}/xorg/modules
%define drimoduledir %{_libdir}/dri
@@ -528,6 +532,11 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon May 25 2009 Peter Hutterer <peter.hutterer at redhat.com> 1.6.1.901-2
+- xserver-1.6.1-mousedrivers.patch: treat other drivers as mouse drivers too
+ when parsing the config file (complements xserver-1.6.1-synaptics.patch)
+- xserver-1.6.1-xkbsendmap.patch: Fix crash due to uninitialized VModMap fields.
+
* Mon May 18 2009 Adam Jackson <ajax at redhat.com> 1.6.1.901-1
- Rebase to 1.6.2 pre-release
- xserver-1.6.1-hush-warning.patch: Silence the prerelease warning spew.
- Previous message: rpms/perl-DBIx-Class/devel .cvsignore, 1.3, 1.4 perl-DBIx-Class.spec, 1.8, 1.9 sources, 1.3, 1.4 verbose.patch, 1.2, NONE
- Next message: rpms/perl-DBIx-Class/devel perl-DBIx-Class.spec,1.9,1.10
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the scm-commits
mailing list