xserver: Branch 'server-1.7-nominations' - 7 commits

Peter Hutterer whot at kemper.freedesktop.org
Sun Dec 27 13:51:13 PST 2009


 configure.ac                         |    4 -
 hw/xfree86/doc/man/Xorg.man.pre      |   23 +++------
 hw/xfree86/doc/man/xorg.conf.man.pre |   85 ++++++++++++++++-------------------
 hw/xfree86/modes/xf86RandR12.c       |    7 ++
 xkb/xkb.c                            |    5 +-
 5 files changed, 58 insertions(+), 66 deletions(-)

New commits:
commit d1320f4f2908fd3a248a79314bd78f76b03c71c5
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Sat Dec 26 10:13:46 2009 +1000

    xserver 1.7.3.902
    
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>

diff --git a/configure.ac b/configure.ac
index 833a092..10cf26f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,8 +26,8 @@ dnl
 dnl Process this file with autoconf to create configure.
 
 AC_PREREQ(2.57)
-AC_INIT([xorg-server], 1.7.3.901, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
-RELEASE_DATE="2009-12-11"
+AC_INIT([xorg-server], 1.7.3.902, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+RELEASE_DATE="2009-12-26"
 AC_CONFIG_SRCDIR([Makefile.am])
 AM_INIT_AUTOMAKE([dist-bzip2 foreign])
 AM_MAINTAINER_MODE
commit c18dd3fd9b2e4bf3862666671042b7c933f64100
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Mon Dec 7 12:58:57 2009 +1000

    xkb: don't assign garbage value to led_return.
    
    As the comment for the function states, led_return is undefined if map is
    NULL. We might as well skip writing to it then.
    
    Found by clang.
    
    Reported-by: Tomas Carnecky <tom at dbservice.com>
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
    Reviewed-by: Jamey Sharp <jamey at minilop.net>
    (cherry picked from commit 12fb31815db9de9c01f2d4155a2b74531777c0bf)

diff --git a/xkb/xkb.c b/xkb/xkb.c
index 98e879d..1cd4558 100644
--- a/xkb/xkb.c
+++ b/xkb/xkb.c
@@ -3273,20 +3273,21 @@ _XkbFindNamedIndicatorMap(XkbSrvLedInfoPtr sli, Atom indicator,
                           int *led_return)
 {
     XkbIndicatorMapPtr  map;
-    int                 led;
 
     /* search for the right indicator */
     map = NULL;
     if (sli->names && sli->maps) {
+	int led;
+
 	for (led = 0; (led < XkbNumIndicators) && (map == NULL); led++) {
 	    if (sli->names[led] == indicator) {
 		map= &sli->maps[led];
+		*led_return = led;
 		break;
 	    }
 	}
     }
 
-    *led_return = led;
     return map;
 }
 
commit 0f71be87b9174c587ccacd6aa61a9a66d3507ef4
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Mon Dec 14 11:05:20 2009 +1000

    xfree86: belately init RandR12 if xinerama fails. (#24627)
    
    On Fri, Dec 11, 2009 at 10:19:01AM -0800, Keith Packard wrote:
    > On Wed, 9 Dec 2009 11:55:14 +1000, Peter Hutterer <peter.hutterer at who-t.net> wrote:
    > > On Tue, Dec 08, 2009 at 05:24:06PM -0800, Aaron Plattner wrote:
    > > > On Tue, Dec 08, 2009 at 03:52:27PM -0800, Peter Hutterer wrote:
    > > > > Xorg +xinerama crashes immediately due to whacky dependency between Xinerama
    > > > > and RandR12. The latter doesn't initialize if Xinerama is enabled, but if
    > > > > only one screen is found, Xinerama is disabled again and RandR12 tries to
    > > > > access data it never initialized.
    >
    > I'd sure like to have RandR get enabled when xinerama doesn't; is there
    > an easy way of making that happen here? Perhaps having the RandR12 code
    > disable Xinerama when only one screen is found? Or some other kludge?
    
    you know the dependency better than I do so any hints are apreciated.
    afaict, the screenInfo.numScreens (the check used by Xinerama) isn't
    necessarily initialized at this point so we can't use the same check.
    The following seems to work though:
    
    From 670b3ebdb7312a6433a8f093d0820785db2aea20 Mon Sep 17 00:00:00 2001
    From: Peter Hutterer <peter.hutterer at who-t.net>
    Date: Mon, 14 Dec 2009 11:00:58 +1000
    Subject: [PATCH] xfree86: if only one screen was found, disable Xinerama (#24627)
    
    Xorg +xinerama crashes immediately due to whacky dependency between Xinerama
    and RandR12. The latter doesn't initialize if Xinerama is enabled, but if
    only one screen is found, Xinerama is disabled again and RandR12 tries to
    access data it never initialized.
    
    Dependency chain is:
    - ProcessCommandLine sets noPanoramiXExtension to FALSE
    - xf86RandR12Init() is a noop
    - PanoramiXExtensionInit sets noPanoramiXExtension to TRUE
    - xf86RandR12CreateScreenResources tries to use the devPrivates key it never
      initialized.
    
    This hack checks if there's only one screen at the time RandR12 is
    initialized. If so, we expect Xinerama to fail anyhow so we disable it
    ourselves and proceed as planned.
    
    X.Org Bug 24627 <http://bugs.freedesktop.org/show_bug.cgi?id=24627>
    
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
    Signed-off-by: Keith Packard <keithp at keithp.com>
    (cherry picked from commit faca1bc582e374d32ee9d63d10e072fbef4940a3)

diff --git a/hw/xfree86/modes/xf86RandR12.c b/hw/xfree86/modes/xf86RandR12.c
index 6ea9d26..1fc63c4 100644
--- a/hw/xfree86/modes/xf86RandR12.c
+++ b/hw/xfree86/modes/xf86RandR12.c
@@ -871,7 +871,12 @@ xf86RandR12Init (ScreenPtr pScreen)
 #ifdef PANORAMIX
     /* XXX disable RandR when using Xinerama */
     if (!noPanoramiXExtension)
-	return TRUE;
+    {
+        if (xf86NumScreens == 1)
+            noPanoramiXExtension = TRUE;
+        else
+            return TRUE;
+    }
 #endif
 
     if (xf86RandR12Generation != serverGeneration)
commit b98a07d86dab5b6c5d524d36814fda8e9549120c
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Mon Dec 21 11:08:26 2009 +1000

    xfree86: remove HistorySize from the xorg.conf man page.
    
    This option isn't parsed by anything anymore.
    
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
    Reviewed-by: Keith Packard <keithp at keithp.com>
    (cherry picked from commit 190610e0c62170a27ab3e40c6c6210a583ae1ad4)

diff --git a/hw/xfree86/doc/man/xorg.conf.man.pre b/hw/xfree86/doc/man/xorg.conf.man.pre
index ea4a641..942c397 100644
--- a/hw/xfree86/doc/man/xorg.conf.man.pre
+++ b/hw/xfree86/doc/man/xorg.conf.man.pre
@@ -879,10 +879,6 @@ default. Devices with
 disabled will be \*qfloating\*q and only accessible by clients employing the
 X Input extension. This option controls the startup behavior only, a device
 may be reattached or set floating at runtime.
-.TP 4
-.BI "Option \*qHistorySize\*q  \*q" number \*q
-Sets the motion history size.
-Default: 0.
 .TP 7
 .BI "Option \*qSendDragEvents\*q  \*q" boolean \*q
 ???
commit 7812d760e9b3fe3fc4de710fdddab504c1335fd5
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Mon Dec 21 10:42:32 2009 +1000

    xfree86: reword InputDevice man sections, deprecate CorePointer/CoreKeyboard
    
    Reshuffle and reword - InputDevice sections are only necessary if
    hotplugging is disabled. Put more emphasis on hotplugging and less on HAL
    since we'll switch backends eventually.
    
    CorePointer, CoreKeyboard, and AlwaysCore should be listed as deprecated
    since they don't do what they used to since 1.4. These days, only
    SendCoreEvents matters and it's enabled for any driver calling
    xf86ProcessCommonOptions (== every driver).
    It only controls the startup behavior too, so document this.
    
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
    Acked-by: Keith Packard <keithp at keithp.com>
    Reviewed-by: Alan Coopersmith <alan.coopersmith at sun.com>
    (cherry picked from commit 094c6b9f97a9f92e5a0ef3cf5be24c09ed4d6063)

diff --git a/hw/xfree86/doc/man/xorg.conf.man.pre b/hw/xfree86/doc/man/xorg.conf.man.pre
index e3cbcf5..ea4a641 100644
--- a/hw/xfree86/doc/man/xorg.conf.man.pre
+++ b/hw/xfree86/doc/man/xorg.conf.man.pre
@@ -769,11 +769,28 @@ Example: the MIT-SHM extension can be disabled with the following entry:
 The config file may have multiple
 .B InputDevice
 sections.
-If HAL is not being used for input device configuration, there will normally
-be at least two: one for the core (primary) keyboard,
-and one of the core pointer.
+Recent X servers employ input hotplugging to add input devices, with the HAL
+backend being the default backend for X servers since 1.4. It is usually not
+necessary to provide
+.B InputDevice
+sections in the xorg.conf if hotplugging is enabled.
+.PP
+If hotplugging is disabled, there will normally
+be at least two: one for the core (primary) keyboard
+and one for the core pointer.
 If either of these two is missing, a default configuration for the missing
-ones will be used.
+ones will be used. In the absence of an explicitly specified core input
+device, the first
+.B InputDevice
+marked as
+.B CorePointer
+(or
+.BR CoreKeyboard )
+is used.
+If there is no match there, the first
+.B InputDevice
+that uses the \(lqmouse\(rq (or \(lqkbd\(rq) driver is used.
+The final fallback is to use built\-in default configurations.
 Currently the default configuration may not work as expected on all platforms.
 .PP
 .B InputDevice
@@ -828,17 +845,6 @@ and
 .BR mousedrv (__drivermansuffix__)
 on other platforms.
 .PP
-In the absence of an explicitly specified core input device, the first
-.B InputDevice
-marked as
-.B CorePointer
-(or
-.BR CoreKeyboard )
-is used.
-If there is no match there, the first
-.B InputDevice
-that uses the \(lqmouse\(rq (or \(lqkbd\(rq) driver is used.
-The final fallback is to use built\-in default configurations.
 .PP
 .B InputDevice
 sections recognise some driver\-independent
@@ -848,40 +854,31 @@ See the individual input driver manual pages for a description of the
 device\-specific options.
 .TP 7
 .BI "Option \*qCorePointer\*q"
-When this is set, the input device is installed as the core (primary)
-pointer device.
-There must be exactly one core pointer.
-If this option is not set here, or in the
-.B ServerLayout
-section, or from the
-.B \-pointer
-command line option, then the first input device that is capable of
-being used as a core pointer will be selected as the core pointer.
-This option is implicitly set when the obsolete
-.B Pointer
-section is used.
+Deprecated, use
+.B SendCoreEvents
+instead.
 .TP 7
 .BI "Option \*qCoreKeyboard\*q"
-When this is set, the input device is to be installed as the core
-(primary) keyboard device.
-There must be exactly one core keyboard.
-If this option is not set here, in the
-.B ServerLayout
-section, or from the
-.B \-keyboard
-command line option, then the first input device that is capable of
-being used as a core keyboard will be selected as the core keyboard.
-This option is implicitly set when the obsolete
-.B Keyboard
-section is used.
+Deprecated, use
+.B SendCoreEvents
+instead.
 .TP 7
 .BI "Option \*qAlwaysCore\*q  \*q" boolean \*q
+.B
+Deprecated, use
+.B SendCoreEvents
+instead.
 .TP 7
 .BI "Option \*qSendCoreEvents\*q  \*q" boolean \*q
 Both of these options are equivalent, and when enabled cause the
-input device to always report core events.
-This can be used, for example, to allow an additional pointer device to
-generate core pointer events (like moving the cursor, etc).
+input device to report core events through the master device. They are
+enabled by default.  Any device configured to send core events will be
+attached to the virtual core pointer or keyboard and control the cursor by
+default. Devices with
+.B SendCoreEvents
+disabled will be \*qfloating\*q and only accessible by clients employing the
+X Input extension. This option controls the startup behavior only, a device
+may be reattached or set floating at runtime.
 .TP 4
 .BI "Option \*qHistorySize\*q  \*q" number \*q
 Sets the motion history size.
commit 93294355a0429e1f009386632a5fb19d8722c61f
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Mon Dec 14 08:43:19 2009 +1000

    xfree86: update man page for special keys handling.
    
    SpecialKeyHandling was removed from the kbd driver with version 1.4.0. Since
    this is the only version that will build against server 1.7+ it's not
    reasonable to mention it in the man page. Reword, point to XKB instead and
    make clear that some key combinations _may_ not be available in any given
    config.
    
    Reported-by: Derek Fawcus
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
    Reviewed-by: Alan Coopersmith <alan.coopersmith at sun.com>
    (cherry picked from commit 801bc8075aee664bd4c6b6ff842ab737c143a1de)

diff --git a/hw/xfree86/doc/man/Xorg.man.pre b/hw/xfree86/doc/man/Xorg.man.pre
index 80b1225..8e86a37 100644
--- a/hw/xfree86/doc/man/Xorg.man.pre
+++ b/hw/xfree86/doc/man/Xorg.man.pre
@@ -421,18 +421,12 @@ The
 .B __xservername__
 server is normally configured to recognize various special combinations
 of key presses that instruct the server to perform some action, rather
-than just sending the key press event to a client application.  The
-default XKEYBOARD keymap defines the key combinations listed below.
-The kbd (__drivermansuffix__) driver also has these key combinations
-builtin to its event handler
-for cases where the XKEYBOARD extension is not being used.  When using
-the XKEYBOARD extension, which key combinations perform which actions
-is completely configurable.
+than just sending the key press event to a client application. These actions
+depend on the XKB keymap loaded by a particular keyboard device and may or
+may not be available on a given configuration.
 .PP
-The special combinations of key presses recognized directly
-by
-.B __xservername__
-are:
+The following key combinations are commonly part of the default XKEYBOARD
+keymap.
 .TP 8
 .B Ctrl+Alt+Backspace
 Immediately kills the server -- no questions asked. It can be disabled by
commit 9941075acbeb2d069f78072cf710131b8cacc5ab
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Mon Dec 14 08:41:18 2009 +1000

    xfree86: DontZap has been disabled for a while now, say so in the man page.
    
    1.7 always shipped with DontZap disabled, it's just the default keymaps that
    may not include the symbol to trigger it.
    
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
    Reviewed-by: Alan Coopersmith <alan.coopersmith at sun.com>
    (cherry picked from commit 753310837cd3812882d8de67f063bb61813db675)

diff --git a/hw/xfree86/doc/man/Xorg.man.pre b/hw/xfree86/doc/man/Xorg.man.pre
index 2f9ff98..80b1225 100644
--- a/hw/xfree86/doc/man/Xorg.man.pre
+++ b/hw/xfree86/doc/man/Xorg.man.pre
@@ -435,11 +435,10 @@ by
 are:
 .TP 8
 .B Ctrl+Alt+Backspace
-Immediately kills the server -- no questions asked.  This is disabled by
-default.  It can be enabled with the -retro command line flag or by setting
-the
+Immediately kills the server -- no questions asked. It can be disabled by
+setting the
 .B DontZap
-__xconfigfile__(__filemansuffix__) file option to a FALSE value.
+__xconfigfile__(__filemansuffix__) file option to a TRUE value.
 .TP 8
 .B Ctrl+Alt+Keypad-Plus
 Change video mode to next one specified in the configuration file.


More information about the xorg-commit mailing list