From f3d9b4f44a8dcbd61417e56f5c9ab4395b42bcc7 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Mar 22 2011 15:47:28 +0000 Subject: Merge branch 'f15' Conflicts: xorg-x11-server.spec xserver-1.10-pointer-barriers.patch --- diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 566d6ad..91c9a79 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -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 1.10.0-6 +- Fix thinko in pointer barrier patch + * Tue Mar 22 2011 Adam Tkac 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 1.10.0-2 -- Disable filesystem caps in paranoia until module loading is audited - -* Fri Feb 25 2011 Peter Hutterer 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 +- Merge from F16: + + * Wed Mar 09 2011 Adam Jackson 1.10.0-2 + - Disable filesystem caps in paranoia until module loading is audited + + * Fri Feb 25 2011 Peter Hutterer 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 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 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 - 1.9.99.1-4.20101201 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild diff --git a/xserver-1.10-pointer-barriers.patch b/xserver-1.10-pointer-barriers.patch index d3083a9..0995654 100644 --- a/xserver-1.10-pointer-barriers.patch +++ b/xserver-1.10-pointer-barriers.patch @@ -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])) diff --git a/xserver-1.9.99.1-xfree86-don-t-overwrite-option-list-32115.patch b/xserver-1.9.99.1-xfree86-don-t-overwrite-option-list-32115.patch new file mode 100644 index 0000000..8bb6a1e --- /dev/null +++ b/xserver-1.9.99.1-xfree86-don-t-overwrite-option-list-32115.patch @@ -0,0 +1,41 @@ +From beea2378f142556471c62290e275935af848e137 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +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 +Date: Thu Sep 2 10:52:54 2010 +1000 + + xfree86: remove extraOptions field from IDevRec. + +X.Org Bug 32115 + +Signed-off-by: Peter Hutterer +Reviewed-by: Dan Nicholson +Tested-by: David Ronis +--- + 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 + diff --git a/xserver-1.9.99.1-xfree86-swap-the-order-to-be-merged-lists-in-xf86Col.patch b/xserver-1.9.99.1-xfree86-swap-the-order-to-be-merged-lists-in-xf86Col.patch new file mode 100644 index 0000000..8f7788a --- /dev/null +++ b/xserver-1.9.99.1-xfree86-swap-the-order-to-be-merged-lists-in-xf86Col.patch @@ -0,0 +1,38 @@ +From 9db9e964f6ca553dcbd3b7b037745d9581eaa065 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +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 +Reported-by: Simon Thum +Signed-off-by: Peter Hutterer +Reviewed-by: Simon Thum +Reviewed-by: Dan Nicholson +Tested-by: Sebastian Glita +--- + 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 + diff --git a/xserver-1.9.99.1-xkb-if-the-keymap-failed-to-compile-load-the-default.patch b/xserver-1.9.99.1-xkb-if-the-keymap-failed-to-compile-load-the-default.patch new file mode 100644 index 0000000..eb91cc2 --- /dev/null +++ b/xserver-1.9.99.1-xkb-if-the-keymap-failed-to-compile-load-the-default.patch @@ -0,0 +1,69 @@ +From d3499556d8d83396fa2585bd00371a81e086be36 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +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 +Reviewed-by: Dan Nicholson +--- + 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 + diff --git a/xserver-1.9.99.1-xkb-split-out-keymap-compilation.patch b/xserver-1.9.99.1-xkb-split-out-keymap-compilation.patch new file mode 100644 index 0000000..44c7f58 --- /dev/null +++ b/xserver-1.9.99.1-xkb-split-out-keymap-compilation.patch @@ -0,0 +1,95 @@ +From 47d1d2fed656c3a3b2600491078da90962c46934 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +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 +Reviewed-by: Dan Nicholson +--- + 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 +