Merge branch 'f15'

Conflicts:
	xorg-x11-server.spec
	xserver-1.10-pointer-barriers.patch
This commit is contained in:
Adam Jackson 2011-03-22 11:47:28 -04:00
commit f3d9b4f44a
6 changed files with 269 additions and 11 deletions

View File

@ -30,7 +30,7 @@
Summary: X.Org X11 X server
Name: xorg-x11-server
Version: 1.10.0
Release: 5%{?gitdate:.%{gitdate}}%{dist}
Release: 6%{?gitdate:.%{gitdate}}%{dist}
URL: http://www.x.org
License: MIT
Group: User Interface/X
@ -77,7 +77,6 @@ Patch6027: xserver-1.6.0-displayfd.patch
Patch6030: xserver-1.6.99-right-of.patch
#Patch6044: xserver-1.6.99-hush-prerelease-warning.patch
# Use vesa for VirtualBox, since we don't ship vboxvideo and the
# fallback to vesa when module is missing seems broken
Patch6053: xserver-1.8-disable-vboxvideo.patch
@ -552,6 +551,9 @@ rm -rf $RPM_BUILD_ROOT
%{xserver_source_dir}
%changelog
* Tue Mar 22 2011 Adam Jackson <ajax@redhat.com> 1.10.0-6
- Fix thinko in pointer barrier patch
* Tue Mar 22 2011 Adam Tkac <atkac redhat com> 1.10.0-5
- add more files into -source subpkg
@ -564,15 +566,28 @@ rm -rf $RPM_BUILD_ROOT
- Add Xen virtual pointer quirk to 10-quirks.conf (#523914, #679699)
* Wed Mar 09 2011 Adam Jackson <ajax@redhat.com> 1.10.0-2
- Disable filesystem caps in paranoia until module loading is audited
- Merge from F16:
* Fri Feb 25 2011 Peter Hutterer <peter.hutterer@redhat.com> 1.9.99.902-1
- xserver 1.10.0
- server-1.9-99.901-xkb-repeat-issues.patch: drop, merged
- xserver-1.4.99-pic-libxf86config.patch: drop, see 60801ff8
- xserver-1.6.99-default-modes.patch: drop, see dc498b4
- xserver-1.7.1-multilib.patch: drop, see a16e282
- ABI bumps: xinput to 12.2, extension to 5.0, video to 10.0
* Wed Mar 09 2011 Adam Jackson <ajax@redhat.com> 1.10.0-2
- Disable filesystem caps in paranoia until module loading is audited
* Fri Feb 25 2011 Peter Hutterer <peter.hutterer@redhat.com> 1.9.99.902-1
- xserver 1.10.0
- server-1.9-99.901-xkb-repeat-issues.patch: drop, merged
- xserver-1.4.99-pic-libxf86config.patch: drop, see 60801ff8
- xserver-1.6.99-default-modes.patch: drop, see dc498b4
- xserver-1.7.1-multilib.patch: drop, see a16e282
- ABI bumps: xinput to 12.2, extension to 5.0, video to 10.0
* Fri Feb 25 2011 Peter Hutterer <peter.hutterer@redhat.com> 1.9.99.1-6.20101201
- xserver-1.9.99.1-xfree86-don-t-overwrite-option-list-32115.patch (#676827)
- xserver-1.9.99.1-xfree86-swap-the-order-to-be-merged-lists-in-xf86Col.patch
(#676827)
* Thu Feb 24 2011 Peter Hutterer <peter.hutterer@redhat.com> 1.9.99.1-5.20101201
- xserver-1.9.99.1-xkb-split-out-keymap-compilation.patch (#676827 prep work)
- xserver-1.9.99.1-xkb-if-the-keymap-failed-to-compile-load-the-default.patch
(#676827 fix)
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.9.99.1-4.20101201
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

View File

@ -949,7 +949,7 @@ index e8c7bf1..a57884b 100644
+ X_XFixesChangeCursorByName, /* Version 2 */
+ X_XFixesExpandRegion, /* Version 3 */
+ X_XFixesShowCursor, /* Version 4 */
+ X_XFixesCreatePointerBarrier, /* Version 5 */
+ X_XFixesDestroyPointerBarrier, /* Version 5 */
};
#define NUM_VERSION_REQUESTS (sizeof (version_requests) / sizeof (version_requests[0]))

View File

@ -0,0 +1,41 @@
From beea2378f142556471c62290e275935af848e137 Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Mon, 6 Dec 2010 14:33:43 +1000
Subject: [PATCH] xfree86: don't overwrite option list (#32115)
Options set in the configuration file were unconditionally overwritten by
the server. Merge the already existing options and the new options together
instead of just overwriting ones.
Introduced in commit 2199842ed50b3eb40d54146827fc58cae7e873ec
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Thu Sep 2 10:52:54 2010 +1000
xfree86: remove extraOptions field from IDevRec.
X.Org Bug 32115 <http://bugs.freedesktop.org/show_bug.cgi?id=32115>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
Tested-by: David Ronis <ronis@ronispc.chem.mcgill.ca>
---
hw/xfree86/common/xf86Config.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
index 5800700..c352f3c 100644
--- a/hw/xfree86/common/xf86Config.c
+++ b/hw/xfree86/common/xf86Config.c
@@ -1465,7 +1465,8 @@ configInputDevices(XF86ConfLayoutPtr layout, serverLayoutPtr servlayoutp)
free(indp);
return FALSE;
}
- indp[count]->options = irp->iref_option_lst;
+ indp[count]->options = xf86OptionListMerge(indp[count]->options,
+ irp->iref_option_lst);
count++;
irp = (XF86ConfInputrefPtr)irp->list.next;
}
--
1.7.4

View File

@ -0,0 +1,38 @@
From 9db9e964f6ca553dcbd3b7b037745d9581eaa065 Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Fri, 10 Dec 2010 13:23:13 +1000
Subject: [PATCH] xfree86: swap the order to-be-merged lists in xf86CollectInputOptions.
Current order causes the user-configured option list to be overwritten with
the default list supplied by the driver. Swap around so we overwrite the
driver's default values instead.
This only affected options supplied by the driver such as XkbLayout in the
case of evdev.
Reported-by: Sebastian Glita <glseba@yahoo.com>
Reported-by: Simon Thum <simon.thum@gmx.de>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Simon Thum <simon.thum@gmx.de>
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
Tested-by: Sebastian Glita <glseba@yahoo.com>
---
hw/xfree86/common/xf86Option.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/hw/xfree86/common/xf86Option.c b/hw/xfree86/common/xf86Option.c
index d49aa31..16c27e5 100644
--- a/hw/xfree86/common/xf86Option.c
+++ b/hw/xfree86/common/xf86Option.c
@@ -130,7 +130,7 @@ xf86CollectInputOptions(InputInfoPtr pInfo, const char **defaultOpts)
if (defaultOpts) {
XF86OptionPtr tmp =xf86optionListCreate(defaultOpts, -1, 0);
if (pInfo->options)
- pInfo->options = xf86optionListMerge(pInfo->options, tmp);
+ pInfo->options = xf86optionListMerge(tmp, pInfo->options);
else
pInfo->options = tmp;
}
--
1.7.4

View File

@ -0,0 +1,69 @@
From d3499556d8d83396fa2585bd00371a81e086be36 Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Thu, 10 Feb 2011 15:12:14 +1000
Subject: [PATCH] xkb: if the keymap failed to compile, load the default keymap instead.
We really need symbols, compat, keynames, vmods and types for a sensible keymap.
Try this in your xorg.conf.d snippets for all keyboards:
Option "XkbLayout" "us"
Option "XkbVariant" "nodeadkeys"
us(nodeadkeys) doesn't exist so xkbcomp provides everything but the symbols
map. We say we want everything but don't _need_ anything, the server happily
gives us a keymap with every key mapped to NoSymbol. This in turn isn't what
we want after all.
So instead, require symbols, compat, keynames, vmods and types from the
keymap and if that fails, load the default keymap instead. If that fails
too, all bets are off.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
---
xkb/ddxLoad.c | 23 ++++++++++++++++++++++-
1 files changed, 22 insertions(+), 1 deletions(-)
diff --git a/xkb/ddxLoad.c b/xkb/ddxLoad.c
index b968c43..ac587fc 100644
--- a/xkb/ddxLoad.c
+++ b/xkb/ddxLoad.c
@@ -470,13 +470,34 @@ XkbDescPtr
XkbCompileKeymap(DeviceIntPtr dev, XkbRMLVOSet *rmlvo)
{
XkbDescPtr xkb;
+ unsigned int need;
if (!dev || !rmlvo) {
LogMessage(X_ERROR, "XKB: No device or RMLVO specified\n");
return NULL;
}
- xkb = XkbCompileKeymapForDevice(dev, rmlvo, 0);
+ /* These are the components we really really need */
+ need = XkmSymbolsMask | XkmCompatMapMask | XkmTypesMask |
+ XkmKeyNamesMask | XkmVirtualModsMask;
+
+
+ xkb = XkbCompileKeymapForDevice(dev, rmlvo, need);
+
+ if (!xkb) {
+ XkbRMLVOSet dflts;
+
+ /* we didn't get what we really needed. And that will likely leave
+ * us with a keyboard that doesn't work. Use the defaults instead */
+ LogMessage(X_ERROR, "XKB: Failed to load keymap. Loading default "
+ "keymap instead.\n");
+
+ XkbGetRulesDflts(&dflts);
+
+ xkb = XkbCompileKeymapForDevice(dev, &dflts, 0);
+
+ XkbFreeRMLVOSet(&dflts, FALSE);
+ }
return xkb;
}
--
1.7.4

View File

@ -0,0 +1,95 @@
From 47d1d2fed656c3a3b2600491078da90962c46934 Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Thu, 10 Feb 2011 15:11:34 +1000
Subject: [PATCH] xkb: split out keymap compilation.
Refactoring for simpler double-use in the next patch. No functional changes.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
---
xkb/ddxLoad.c | 55 +++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 39 insertions(+), 16 deletions(-)
diff --git a/xkb/ddxLoad.c b/xkb/ddxLoad.c
index 51b5777..b968c43 100644
--- a/xkb/ddxLoad.c
+++ b/xkb/ddxLoad.c
@@ -425,35 +425,58 @@ XkbRF_RulesPtr rules;
return complete;
}
-XkbDescPtr
-XkbCompileKeymap(DeviceIntPtr dev, XkbRMLVOSet *rmlvo)
+static Bool
+XkbRMLVOtoKcCGST(DeviceIntPtr dev, XkbRMLVOSet *rmlvo, XkbComponentNamesPtr kccgst)
{
- XkbComponentNamesRec kccgst;
XkbRF_VarDefsRec mlvo;
- XkbDescPtr xkb;
- char name[PATH_MAX];
-
- if (!dev || !rmlvo) {
- LogMessage(X_ERROR, "XKB: No device or RMLVO specified\n");
- return NULL;
- }
mlvo.model = rmlvo->model;
mlvo.layout = rmlvo->layout;
mlvo.variant = rmlvo->variant;
mlvo.options = rmlvo->options;
- /* XDNFR already logs for us. */
- if (!XkbDDXNamesFromRules(dev, rmlvo->rules, &mlvo, &kccgst))
+ return XkbDDXNamesFromRules(dev, rmlvo->rules, &mlvo, kccgst);
+}
+
+/**
+ * Compile the given RMLVO keymap and return it. Returns the XkbDescPtr on
+ * success or NULL on failure. If the components compiled are not a superset
+ * or equal to need, the compiliation is treated as failure.
+ */
+static XkbDescPtr
+XkbCompileKeymapForDevice(DeviceIntPtr dev, XkbRMLVOSet *rmlvo, int need)
+{
+ XkbDescPtr xkb;
+ unsigned int provided;
+ XkbComponentNamesRec kccgst;
+ char name[PATH_MAX];
+
+ if (!XkbRMLVOtoKcCGST(dev, rmlvo, &kccgst))
return NULL;
- /* XDLKBN too, but it might return 0 as well as allocating. */
- if (!XkbDDXLoadKeymapByNames(dev, &kccgst, XkmAllIndicesMask, 0, &xkb, name,
- PATH_MAX)) {
- if (xkb)
+ provided = XkbDDXLoadKeymapByNames(dev, &kccgst, XkmAllIndicesMask, need,
+ &xkb, name, PATH_MAX);
+ if ((need & provided) != need) {
+ if (xkb) {
XkbFreeKeyboard(xkb, 0, TRUE);
+ xkb = NULL;
+ }
+ }
+
+ return xkb;
+}
+
+XkbDescPtr
+XkbCompileKeymap(DeviceIntPtr dev, XkbRMLVOSet *rmlvo)
+{
+ XkbDescPtr xkb;
+
+ if (!dev || !rmlvo) {
+ LogMessage(X_ERROR, "XKB: No device or RMLVO specified\n");
return NULL;
}
+ xkb = XkbCompileKeymapForDevice(dev, rmlvo, 0);
+
return xkb;
}
--
1.7.4