platform/upstream/xorg-server.git
12 years agoMerge remote-tracking branch 'alanc/master'
Keith Packard [Tue, 17 Jul 2012 19:17:39 +0000 (12:17 -0700)]
Merge remote-tracking branch 'alanc/master'

12 years agoMerge remote-tracking branch 'jturney/master'
Keith Packard [Tue, 17 Jul 2012 19:12:53 +0000 (12:12 -0700)]
Merge remote-tracking branch 'jturney/master'

12 years agoxwin: Clean up os wrappers for System, Popen and Pclose on Windows
Keith Packard [Fri, 13 Jul 2012 21:36:25 +0000 (14:36 -0700)]
xwin: Clean up os wrappers for System, Popen and Pclose on Windows

Popen and Pclose are never used on Windows, so don't bother to even
try to define them.

System(s) was defined as system(s), but the two users of that
function are in xkb, which carefully redefines that as
Win32System. Move Win32System and Win32TempDir to os/utils.c, renaming
Win32System to be just System, which simplifies the xkb code

Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk>
12 years agoUse C99 designated initializers in DRI2GetParam replies
Alan Coopersmith [Sat, 14 Jul 2012 17:54:36 +0000 (10:54 -0700)]
Use C99 designated initializers in DRI2GetParam replies

DRI2GetParam was going through review in parallel with main batch of
C99 initialization changes - sync up now that both have landed.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
12 years agoUse C99 designated initializers in RandR 1.4 extension Events
Alan Coopersmith [Sat, 14 Jul 2012 17:50:41 +0000 (10:50 -0700)]
Use C99 designated initializers in RandR 1.4 extension Events

RandR 1.4 was going through review in parallel with main batch of
C99 initialization changes - sync up now that both have landed.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
12 years agoUse C99 designated initializers in RandR 1.4 extension Replies
Alan Coopersmith [Sat, 14 Jul 2012 17:45:29 +0000 (10:45 -0700)]
Use C99 designated initializers in RandR 1.4 extension Replies

RandR 1.4 was going through review in parallel with main batch of
C99 initialization changes - sync up now that both have landed.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
12 years agoFix two more C99 initialization mistakes using members of same struct
Alan Coopersmith [Sat, 14 Jul 2012 17:02:52 +0000 (10:02 -0700)]
Fix two more C99 initialization mistakes using members of same struct

Similar to 34cf559bcf99dad, use temporary variables instead of
referencing members of the struct being initialized in the middle
of the initialization.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
12 years agoxf86: Re-export extension disable flags
Aaron Plattner [Tue, 17 Jul 2012 00:40:31 +0000 (17:40 -0700)]
xf86: Re-export extension disable flags

These flags were unexported by commit a1d41e311c21eb6627caa0d168e070ceaf90806f,
which moved the declarations around and lost the _X_EXPORT attributes in the
process.  Since drivers need these and it's late in the release cycle, just
re-export them for now.

Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Andy Ritger <aritger@nvidia.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agohw/xwin: Refer to xkeyboard-config man page for XKB configuration option values
Jon TURNEY [Wed, 14 Mar 2012 13:58:32 +0000 (13:58 +0000)]
hw/xwin: Refer to xkeyboard-config man page for XKB configuration option values

Also polish the keyboard configuration text a bit
Include man section number in references to setxkbmap
Consistently refer to 'manual page' rather using both that and 'man page'

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
12 years agohw/xwin: Fix command line arguments for multiple monitors.
Jörg Mensmann [Tue, 17 Apr 2012 09:48:19 +0000 (10:48 +0100)]
hw/xwin: Fix command line arguments for multiple monitors.

Moving Xwin to a certain monitor using "-screen 0 @2" would fail,
printing "ddxProcessArgument - screen - Querying monitors failed".

This happened since commit 3ead1d810b0e157078db39712e02ea6dc85216d8,
because EnumDisplayMonitor() returns FALSE if its callback function
returns FALSE (which is not clearly documented), and QueryMonitor()
would then also return FALSE.

Moving back to the old behaviour, where the return value of
EnumDisplayMonitors() is ignored.

Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
12 years agohw/xwin: Remove unused WindowExposuresProcPtr storage in screen private
Jon TURNEY [Fri, 10 Feb 2012 09:27:16 +0000 (09:27 +0000)]
hw/xwin: Remove unused WindowExposuresProcPtr storage in screen private

We don't wrap the WindowExposures screen function

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
12 years agohw/xwin: Remove long obsolete README for hw/xwin
Jon TURNEY [Fri, 10 Feb 2012 13:25:32 +0000 (13:25 +0000)]
hw/xwin: Remove long obsolete README for hw/xwin

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
12 years agohw/xwin: Remove a pointless OS version check in winInstallKeyboardHookLL()
Jon TURNEY [Thu, 23 Feb 2012 22:32:09 +0000 (22:32 +0000)]
hw/xwin: Remove a pointless OS version check in winInstallKeyboardHookLL()

Checking for OS later than NT4 SP3 (which we didn't do correctly anyhow,
just checking for NT) is pointless when other code in hw/xwin assumes at
least NT 5.0

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
12 years agohw/xwin: Remove winClipboardDetectUnicodeSupport()
Jon TURNEY [Thu, 5 Jul 2012 21:08:38 +0000 (22:08 +0100)]
hw/xwin: Remove winClipboardDetectUnicodeSupport()

This code for detecting if the Windows clipboard can support unicode
is long obsolete.

All NT versions of Windows support unicode clipboard, so any version
of Windows we can run on must support unicode clipboard.

The -nounicodeclipboard flag to disable use of unicode on the clipboard
is retained.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
12 years agohw/xwin: Consolidate duplicated code as getHwnd() function
Jon TURNEY [Thu, 5 Jul 2012 17:00:06 +0000 (18:00 +0100)]
hw/xwin: Consolidate duplicated code as getHwnd() function

Consolidate code to find the native HWND of an X window, stored in the _WINDOWSWM_NATIVE_HWND
property, duplicated in UpdateName() and PreserveWin32Stack() as getHwnd()

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
12 years agohw/xwin: Correct function name in log message
Jon TURNEY [Thu, 5 Jul 2012 13:20:52 +0000 (14:20 +0100)]
hw/xwin: Correct function name in log message

Correct function name in log message winInitializeDefaultScreens -> winInitializeScreenDefaults

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
12 years agohw/xwin: Tidy up some more pointless output which is always emitted
Jon TURNEY [Fri, 16 Mar 2012 12:56:45 +0000 (12:56 +0000)]
hw/xwin: Tidy up some more pointless output which is always emitted

It's not very useful to log lines like the below when the About.. dialog is used

winAboutDlgProc - WM_COMMAND - IDOK or IDCANCEL
winAboutDlgProc - WM_CLOSE

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
12 years agohw/xwin: RANDR resize didn't occur when screen window was maximized or restored
Colin Harrison [Thu, 5 Jul 2012 13:03:44 +0000 (14:03 +0100)]
hw/xwin: RANDR resize didn't occur when screen window was maximized or restored

In windowed mode, with option -resize, RANDR resize was missing when the screen
window was maximized or restored.

Signed-off-by: Colin Harrison <colin.harrison@virgin.net>
Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk>
12 years agohw/xwin: Bug fixes for screen sizing when the screen window is on a non-primary monitor
Jon TURNEY [Thu, 5 Jul 2012 13:01:03 +0000 (14:01 +0100)]
hw/xwin: Bug fixes for screen sizing when the screen window is on a non-primary monitor

There is a bug that when the -screen option is used to specify a monitor for
the screen window to be located on, but no explicit size is specified
(and the -multiplemonitors option isn't specified), the screen
window size is always constrained to fit the work area of the primary
monitor (rather than the work area of the specified monitor)

This gives incorrect results if you want a screen the same size as your
non-primary monitor (e.g. by using -screen 0 @2) and your non-primary
monitor is larger than your primary monitor.

(This can be worked around by specifying -multiplemonitors and an explicit
screen size the same size as the monitor (e.g. -multiplemonitors -screen 0
1600x1200@2))

Fix to use work area for the monitor specified for the screen, rather than the
primary monitor work area (unless -multiplemonitors is used, in which case we
continue to use the virtual desktop work area instead)

Also fix the adjustment for an autohide taskbar, so that it is only done if the
taskbar is on the same monitor as the screen (or -multiplemonitors is used)

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
12 years agohw/xwin: Tidy up some pointless output which is always emitted
Jon TURNEY [Thu, 5 Jul 2012 12:19:02 +0000 (13:19 +0100)]
hw/xwin: Tidy up some pointless output which is always emitted

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
12 years agohw/xwin: Don't bother reporting XORG_VERSION_CURRENT
Jon TURNEY [Sun, 13 Feb 2011 18:52:52 +0000 (18:52 +0000)]
hw/xwin: Don't bother reporting XORG_VERSION_CURRENT

Don't bother reporting XORG_VERSION_CURRENT, when we also
report the version number broken down into it's components
XORG_VERSION_MAJOR, XORG_VERSION_MINOR, etc. as well.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
12 years agoxf86: include xf86platformBus.h in xf86AutoConfig.c
Dave Airlie [Thu, 12 Jul 2012 14:28:19 +0000 (00:28 +1000)]
xf86: include xf86platformBus.h in xf86AutoConfig.c

This fixes an implicit declaration,
xf86AutoConfig.c:202:5: error: implicit declaration of function 'xf86PlatformMatchDriver' [-Werror=implicit-function-declaration]
xf86AutoConfig.c:202:5: warning: nested extern declaration of 'xf86PlatformMatchDriver' [-Wnested-externs]

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
12 years agoglx: Fix checking GL version
Bartosz Brachaczek [Fri, 6 Jul 2012 00:52:40 +0000 (02:52 +0200)]
glx: Fix checking GL version

Signed-off-by: Bartosz Brachaczek <b.brachaczek@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Dave Airlie <airlied@gmail.com>
12 years agoglx/dri2: don't return NULL in a function with no return.
Dave Airlie [Thu, 12 Jul 2012 09:09:15 +0000 (19:09 +1000)]
glx/dri2: don't return NULL in a function with no return.

Reported by gcc.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
12 years agoglx/dri2: use correct define from dri attribs.
Dave Airlie [Thu, 12 Jul 2012 09:05:41 +0000 (19:05 +1000)]
glx/dri2: use correct define from dri attribs.

Looks like idr renamed this and pushed the wrong one.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
12 years agoglx/dri2: fix incorrect == vs =
Dave Airlie [Thu, 12 Jul 2012 09:04:13 +0000 (19:04 +1000)]
glx/dri2: fix incorrect == vs =

glxdri2.c:486: warning: statement with no effect

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
12 years agoglx/dri2: fix typo in the notification reset for robustness.
Dave Airlie [Thu, 12 Jul 2012 08:52:34 +0000 (18:52 +1000)]
glx/dri2: fix typo in the notification reset for robustness.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
12 years agoglx: pass screen into the convert function
Dave Airlie [Thu, 12 Jul 2012 08:51:52 +0000 (18:51 +1000)]
glx: pass screen into the convert function

when robustness is enabled, this is required.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
12 years agoxtest: add extinit.h for SyncExtensionInit
Dave Airlie [Thu, 12 Jul 2012 14:47:24 +0000 (00:47 +1000)]
xtest: add extinit.h for SyncExtensionInit

This adds the decl for SyncExtenionInit.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Tested-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoMerge remote-tracking branch 'jturney/xwin-extmod-removal-fixes'
Keith Packard [Thu, 12 Jul 2012 22:10:51 +0000 (15:10 -0700)]
Merge remote-tracking branch 'jturney/xwin-extmod-removal-fixes'

12 years agoglx: Free DRI2 drawable reference to destroyed GLX drawable.
Michel Dänzer [Thu, 12 Jul 2012 11:16:37 +0000 (13:16 +0200)]
glx: Free DRI2 drawable reference to destroyed GLX drawable.

Otherwise the reference can lead to use after free in
__glXDRIinvalidateBuffers().

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50019

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agodri2: Add DRI2CreateDrawable2.
Michel Dänzer [Thu, 12 Jul 2012 11:16:36 +0000 (13:16 +0200)]
dri2: Add DRI2CreateDrawable2.

Same as DRI2CreateDrawable, except it can return the DRI2 specific XID of the
DRI2 drawable reference to the base drawable.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoRestore GLX extension to XWin
Jon TURNEY [Wed, 11 Jul 2012 23:36:43 +0000 (00:36 +0100)]
Restore GLX extension to XWin

- Add an XwinExtensionInit(), similar in spirit to QuartzExtensionInit()
and xf86ExtensionInit()
- Load the GLX extension (I'm guessing XQuartz needs this adding somewhere
as well)
- Also, since we now have a proper place to install the native GL provider
where it will take priority over the the swrast provider, do so

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
12 years agoMerge remote-tracking branch 'jeremyhu/master'
Keith Packard [Thu, 12 Jul 2012 15:26:35 +0000 (08:26 -0700)]
Merge remote-tracking branch 'jeremyhu/master'

12 years agosdksyms: Fix build with --disable-xv
Daniel Stone [Wed, 11 Jul 2012 16:31:53 +0000 (17:31 +0100)]
sdksyms: Fix build with --disable-xv

I hate this [redacted] script.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Tested-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoRestore extern to the declaration of __glXDRISWRastProvider
Jon TURNEY [Thu, 12 Jul 2012 11:37:05 +0000 (12:37 +0100)]
Restore extern to the declaration of __glXDRISWRastProvider

b86aa74 dropped the 'extern' from the declaration of __glXDRISWRastProvider

This turns out to be important to me, as without it, the final link only gets
the tentative definition of __glXDRISWRastProvider implied by the declaration,
and not the proper one from glxdriswrast.c, presumably because nothing else
references anything in the object that file generates.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
12 years agoRevert bogus GlxPushProvider() in commit a1d41e3
Jon TURNEY [Wed, 11 Jul 2012 23:36:10 +0000 (00:36 +0100)]
Revert bogus GlxPushProvider() in commit a1d41e3

a1d41e3 "Move extension initialisation prototypes into extinit.h"
also includes a change to GlxExtensionInit to install the swrast GLX
provider.

Since b86aa74 "GLX: Insert swrast provider from GlxExtensionInit"
already does this (correctly, by installing the swrast provider
at the end of the chain, rather than at the beginning), and since this
would seem to have the effect of making the swrast provider the most
preferred provider, I'm guessing this wasn't intended.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
12 years agoXQuartz: Re-add prototype for DRIExtensionInit
Jeremy Huddleston [Thu, 12 Jul 2012 06:54:27 +0000 (23:54 -0700)]
XQuartz: Re-add prototype for DRIExtensionInit

Regression from: a1d41e311c21eb6627caa0d168e070ceaf90806f

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
CC: Daniel Stone <daniel@fooishbar.org>
12 years agoXQuartz: Fix build failure due to incorrect PseudoramiXExtensionInit prototype
Jeremy Huddleston [Thu, 12 Jul 2012 06:49:59 +0000 (23:49 -0700)]
XQuartz: Fix build failure due to incorrect PseudoramiXExtensionInit prototype

pseudoramiX.c:129:1: error: conflicting types for 'PseudoramiXExtensionInit' [Semantic Issue]
PseudoramiXExtensionInit(int argc, char *argv[])
^
../../include/extinit.h:175:13: note: previous declaration is here
extern void PseudoramiXExtensionInit(void);
            ^

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
12 years agoXQuartz: Silence an unused-variable warning
Jeremy Huddleston [Thu, 12 Jul 2012 06:49:33 +0000 (23:49 -0700)]
XQuartz: Silence an unused-variable warning

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
12 years agoxfree86: Strip dangling pointers from desiredMode
Maarten Lankhorst [Wed, 11 Jul 2012 14:27:46 +0000 (16:27 +0200)]
xfree86: Strip dangling pointers from desiredMode

Based on the original patch by Chris Wilson, which was a better fix than mine.

We stash a copy of the desiredMode on the crtc so that we can restore it
after a vt switch. This copy is a simple memcpy and so also stashes a
references to the pointers contained within the desiredMode. Those
pointers are freed the next time the outputs are probed and mode list
rebuilt, resulting in us chasing those dangling pointers on the next
mode switch.

==22787== Invalid read of size 1
==22787==    at 0x40293C2: __GI_strlen (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==22787==    by 0x668F875: strdup (strdup.c:42)
==22787==    by 0x5DBA00: XNFstrdup (utils.c:1124)
==22787==    by 0x4D72ED: xf86DuplicateMode (xf86Modes.c:209)
==22787==    by 0x4CA848: xf86CrtcSetModeTransform (xf86Crtc.c:276)
==22787==    by 0x4D05B4: xf86SetDesiredModes (xf86Crtc.c:2677)
==22787==    by 0xA7479D0: sna_create_screen_resources
(sna_driver.c:220)
==22787==    by 0x4CB914: xf86CrtcCreateScreenResources (xf86Crtc.c:725)
==22787==    by 0x425498: main (main.c:216)
==22787==  Address 0x72c60e0 is 0 bytes inside a block of size 9 free'd
==22787==    at 0x4027AAE: free (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==22787==    by 0x4A547E: xf86DeleteMode (xf86Mode.c:1984)
==22787==    by 0x4CD84F: xf86ProbeOutputModes (xf86Crtc.c:1578)
==22787==    by 0x4DC405: xf86RandR12GetInfo12 (xf86RandR12.c:1537)
==22787==    by 0x518119: RRGetInfo (rrinfo.c:202)
==22787==    by 0x51D997: rrGetScreenResources (rrscreen.c:335)
==22787==    by 0x51E0D0: ProcRRGetScreenResources (rrscreen.c:475)
==22787==    by 0x513852: ProcRRDispatch (randr.c:493)
==22787==    by 0x4346DB: Dispatch (dispatch.c:439)
==22787==    by 0x4256E4: main (main.c:287)

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Reported-by: Zdenek Kabelac <zdenek.kabelac@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=36108
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoAllocDevicePair: Ensure XKB privates are initialised
Daniel Stone [Tue, 10 Jul 2012 08:10:22 +0000 (09:10 +0100)]
AllocDevicePair: Ensure XKB privates are initialised

Since we call directly into XKB and may be doing so before the extension
has been initialised, make sure its privates are set up first.  XTest
had a hack to do this itself, but seems cleaner to just make sure we do
it in AllocDevicePair.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoSync: Always initialise system counter list
Daniel Stone [Tue, 10 Jul 2012 08:10:21 +0000 (09:10 +0100)]
Sync: Always initialise system counter list

Sync is designed to let you add system counters before the extension has
been initialised, which means the system counter list may well be full
of bees.  Make sure it's initialised before we add to it, to avoid the
risk of fatal injury.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoProcGetPointerMapping uses rep.nElts before it is initialized
Keith Packard [Tue, 10 Jul 2012 22:58:48 +0000 (15:58 -0700)]
ProcGetPointerMapping uses rep.nElts before it is initialized

In:

commit d792ac125a0462a04a930af543cbc732f8cdab7d
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Mon Jul 9 19:12:43 2012 -0700

    Use C99 designated initializers in dix Replies

the initializer for the .length element of the xGetPointerMappingReply
structure uses the value of rep.nElts, but that won't be set until
after this initializer runs, so we get garbage in the length element
and clients using it will generally wedge.

Easy to verify:

$ xmodmap -pp

Fixed by creating a local nElts variable and using that.

Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
12 years agoVersion 1.12.99.901 (1.13 RC1) xorg-server-1.12.99.901
Keith Packard [Tue, 10 Jul 2012 08:14:13 +0000 (01:14 -0700)]
Version 1.12.99.901 (1.13 RC1)

Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoMerge branch 'local-fixes'
Keith Packard [Tue, 10 Jul 2012 07:52:11 +0000 (00:52 -0700)]
Merge branch 'local-fixes'

12 years agoGE: Remove unused RT_GECLIENT
Daniel Stone [Tue, 10 Jul 2012 01:03:38 +0000 (02:03 +0100)]
GE: Remove unused RT_GECLIENT

Remove remnants of an earlier experiment which had the GE extension
handling event delivery directly.  Nothing's used the resource since, so
purge it.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoXFree86: os-support: Remove unused xf86MakeNewMapping
Daniel Stone [Tue, 10 Jul 2012 01:03:37 +0000 (02:03 +0100)]
XFree86: os-support: Remove unused xf86MakeNewMapping

No drivers used this, so it got unexported, and now it's so unused it
got culled during the link.  Take the poor function out behind the shed
and put it out of its misery.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoXinerama: Reset Composite request vector on close
Daniel Stone [Tue, 10 Jul 2012 01:03:36 +0000 (02:03 +0100)]
Xinerama: Reset Composite request vector on close

Similar (identical) to how it interacts with Render and XFixes, also
call PanoramiXCompositeReset() to restore the Composite dispatch table
to how it was when it started, on reset.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoXvMC: Remove unused XvMCGeneration
Daniel Stone [Tue, 10 Jul 2012 01:03:35 +0000 (02:03 +0100)]
XvMC: Remove unused XvMCGeneration

I wonder if this even works across multiple generations.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoRender: Remove unused glyphDepths
Daniel Stone [Tue, 10 Jul 2012 01:03:34 +0000 (02:03 +0100)]
Render: Remove unused glyphDepths

No-one has used this since 0a71e154.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoXi: Remove dead Device{Enter,Leave}WindowMask
Daniel Stone [Tue, 10 Jul 2012 01:03:33 +0000 (02:03 +0100)]
Xi: Remove dead Device{Enter,Leave}WindowMask

These were an unused remnant of earlier MPX work; their only users got
cleared out in dc153271, but the mask declarations remained.  Remove
them, and move DevicePropertyNotify's mask up to be contiguous with the
rest of the range.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoGLX: Remove unused noGlxVisualInit
Daniel Stone [Tue, 10 Jul 2012 01:03:32 +0000 (02:03 +0100)]
GLX: Remove unused noGlxVisualInit

No-one ever did anything with this variable except assign its default
value to it.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoXKB: Geom: Remove unused code
Daniel Stone [Tue, 10 Jul 2012 01:03:31 +0000 (02:03 +0100)]
XKB: Geom: Remove unused code

These codepaths were never called by anyone.  Shame there weren't more
of them.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoRemove XAA
Daniel Stone [Mon, 9 Jul 2012 19:04:15 +0000 (20:04 +0100)]
Remove XAA

Commit 0c6987df in June 2008 disabled XAA offscreen pixmaps per default,
as they were broken, leaving XAA only able to accelerate operations
directly on the screen pixmap and nowhere else, eliminating acceleration
for basically every modern toolkit, and any composited environment.

So, it hasn't worked for over four years.  No-one's even come close to
fixing it.

RIP.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Alex Deucher <alexdeucher@gmail.com>
12 years agoRemove last renmants of XFree86LOADER define
Daniel Stone [Tue, 10 Jul 2012 01:03:29 +0000 (02:03 +0100)]
Remove last renmants of XFree86LOADER define

Not to be confused with XFree86Loader or XorgLoader.  Which are both now
dead too.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoRemove unused setupFunc from extensions
Daniel Stone [Tue, 10 Jul 2012 01:03:28 +0000 (02:03 +0100)]
Remove unused setupFunc from extensions

setupFunc was used as an early callback for half-modular extensions such
as Xv, XvMC and DGA to set up hooks between the core server and the
modular component.  Now we've rid ourselves of that, we can also bin
setupFunc.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoReplace NO_HW_ONLY_EXTS with Xorg DDX test
Daniel Stone [Tue, 10 Jul 2012 01:03:27 +0000 (02:03 +0100)]
Replace NO_HW_ONLY_EXTS with Xorg DDX test

Turns out the only thing we use NO_HW_ONLY_EXTS for is to check whether
or not we're building inside the Xorg DDX.  Replace it with an
XorgLoader test instead, and remove all its users.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoUnify miinitext.c
Daniel Stone [Tue, 10 Jul 2012 01:03:26 +0000 (02:03 +0100)]
Unify miinitext.c

Rather than having a non-Xorg and an Xorg-specific path which basically
just duplicated each other for no reason, we could ... just have one.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoRemove Xorg-specific extensions from non-Xorg miinitext
Daniel Stone [Tue, 10 Jul 2012 01:03:25 +0000 (02:03 +0100)]
Remove Xorg-specific extensions from non-Xorg miinitext

miinitext.c had a completely separate codepath for non-Xorg servers,
which included tests for Xorg-specific extensions such as
XFree86-VidMode, which were external even to the Xorg DDX.  So we can
just remove them, and the associated #undefs.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoQuartz: Move PseudoramiX initialisation to DDX
Daniel Stone [Tue, 10 Jul 2012 01:03:24 +0000 (02:03 +0100)]
Quartz: Move PseudoramiX initialisation to DDX

As PseudoramiX is a DDX-specific extension, move its loading and
initialisation to hw/xquartz.  This creates a QuartzExtensionInit()
similar in spirit to xf86ExtensionInit.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoMove the remnants of loadext.c to miinitext.c
Daniel Stone [Tue, 10 Jul 2012 01:03:23 +0000 (02:03 +0100)]
Move the remnants of loadext.c to miinitext.c

There was nothing XFree86-specific or loader-specific about this, aside
from using xf86MsgVerb instead of ErrorF.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoLoader: Move ExtensionModule types to DIX
Daniel Stone [Tue, 10 Jul 2012 01:03:22 +0000 (02:03 +0100)]
Loader: Move ExtensionModule types to DIX

In preparation for gutting loadext.c, move the ExtensionModule struct to
the DIX, and unexport ExtensionModuleList (why, why, why, why was this
ever exported in the first place, tbqh).

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoLoader: Remove extension initialisation sorting
Daniel Stone [Tue, 10 Jul 2012 01:03:21 +0000 (02:03 +0100)]
Loader: Remove extension initialisation sorting

Extensions could previously declare initialisation dependencies on other
extensions, which would then get nicely sorted by the loader.  We only
had one user for this, GLX, which had one pointless (Composite) and one
possibly useful dependency (DBE).  As DBE is now a built-in, it will
always be sorted by GLX, so we no longer have any users for it.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoGLX: Remove extension init dependencies
Daniel Stone [Tue, 10 Jul 2012 01:03:20 +0000 (02:03 +0100)]
GLX: Remove extension init dependencies

GLX was the only user of extension init order dependencies, using them
to depend on Composite, which has always been built-in anyway, and DBE,
which is now built-in.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoAdd static extensions before those in modules
Daniel Stone [Tue, 10 Jul 2012 01:03:19 +0000 (02:03 +0100)]
Add static extensions before those in modules

Make sure we add static extensions before anything in a module.  This is
more or less a no-op at the moment, but will come in handy later when
extension dependency sorting is removed.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoMove DRI2 from external module to built-in
Daniel Stone [Tue, 10 Jul 2012 01:03:18 +0000 (02:03 +0100)]
Move DRI2 from external module to built-in

Instead of keeping a tiny amount of code in an external module, just man
up and build it into the core server.

v2: Fix test/Makefile.am to only link libdri2.la if DRI2 is set

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoDRI2: Remove prototype for DRI2DestroyDrawable
Daniel Stone [Tue, 10 Jul 2012 01:03:17 +0000 (02:03 +0100)]
DRI2: Remove prototype for DRI2DestroyDrawable

DRI2DestroyDrawable() was still being _X_EXPORTed, but hasn't existed
since 1da1f33f last year.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Cyril Brulebois <kibi@debian.org>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoXFree86: DRI: Don't use per-target CFLAGS
Daniel Stone [Tue, 10 Jul 2012 01:03:16 +0000 (02:03 +0100)]
XFree86: DRI: Don't use per-target CFLAGS

AM_CFLAGS will suffice, given we only have one target in this directory.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Cyril Brulebois <kibi@debian.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoMove DRI1 from external module to built-in
Daniel Stone [Tue, 10 Jul 2012 01:03:15 +0000 (02:03 +0100)]
Move DRI1 from external module to built-in

Rather than building the tiny amount of code required for XFree86-DRI as
an external module, build it in if it's enabled at configure time.

v2: Fix test/Makefile.am to only link libdri.la if DRI is set

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
fixup for DRI1 move

Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoXext: Only build one library
Daniel Stone [Tue, 10 Jul 2012 01:03:14 +0000 (02:03 +0100)]
Xext: Only build one library

Now that libXextmodule.la is both empty and unused, we can just build
the one libXext.la for everyone, rather than having Xorg be special and
unique.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoRemove the last remnants of extmod
Daniel Stone [Tue, 10 Jul 2012 01:03:13 +0000 (02:03 +0100)]
Remove the last remnants of extmod

extmod was originally a big pointless module.  Now it's an empty,
pointless module.  This commit makes it unexist.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoMove XFree86-VidMode from extmod to built-in
Daniel Stone [Tue, 21 Jun 2011 23:28:18 +0000 (00:28 +0100)]
Move XFree86-VidMode from extmod to built-in

As with DGA, move VidMode from being part of extmod to a built-in part
of the server, if compiled as such.  This is initialised from
xf86ExtensionInit rather than miinitext because it's wholly dependent on
the Xorg DDX.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
12 years agoDGA: Remove excessive module-induced indirection
Tomas Carnecky [Tue, 10 Jul 2012 01:03:11 +0000 (02:03 +0100)]
DGA: Remove excessive module-induced indirection

The DGA event base used to have to be passed through a function pointer,
as the code was cleaved in two with half in a module, and half in the
core server.  Now that's not the case, just access DGAEventBase
directly.

v2: Deal with Alan's event initialization cleanups

Signed-off-by: Tomas Carnecky <tom@dbservice.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoMove DGA from extmod to built-in
Daniel Stone [Tue, 10 Jul 2012 01:03:10 +0000 (02:03 +0100)]
Move DGA from extmod to built-in

Rather than leave DGA languishing in extmod, move it to be a built-in
extension.  As it's quite specific to the Xorg DDX, just move it
sideways to the rest of the DGA code in hw/xfree86/common, and
initialise it from xf86ExtensionInit, rather than miinitext.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Acked-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoMove SELinux from extmod to built-in
Daniel Stone [Tue, 10 Jul 2012 01:03:09 +0000 (02:03 +0100)]
Move SELinux from extmod to built-in

Instead of letting it languish in extmod just because we want to
configure bits of it from xf86, move XSELinux to the builtin part of
Xext, and do its configuration from xf86ExtensionInit.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoXv: Remove excessive module-induced indirection
Tomas Carnecky [Tue, 10 Jul 2012 01:03:08 +0000 (02:03 +0100)]
Xv: Remove excessive module-induced indirection

Xv used to call XvScreenInit and co. through function pointers, as
XvScreenInit may have been sitting on the other side of a module
boundary from xf86XvScreenInit.  Why this was so is a mystery, but make
it not so any more.

Signed-off-by: Tomas Carnecky <tom@dbservice.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoXFree86: sdksyms: Remove unused -DXorgLoader
Daniel Stone [Tue, 10 Jul 2012 01:03:07 +0000 (02:03 +0100)]
XFree86: sdksyms: Remove unused -DXorgLoader

We no longer have anything in the tree that checks for XorgLoader.  This
was a fairly monumental hack: xvdi.h used to hide all its functions
behind #ifndef XorgLoader, solely to avoid sdksyms.sh picking up its
symbols, as it was previously a module rather than built-in.

This is no longer the case, so we can remove the define.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoMove Xv and XvMC from extmod to built-in
Tomas Carnecky [Tue, 10 Jul 2012 01:03:06 +0000 (02:03 +0100)]
Move Xv and XvMC from extmod to built-in

Always build these extensions into the core server, rather than letting
them languish in extmod.

Signed-off-by: Tomas Carnecky <tom@dbservice.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoMove XRes from extmod to built-in
Tomas Carnecky [Tue, 10 Jul 2012 01:03:05 +0000 (02:03 +0100)]
Move XRes from extmod to built-in

Always build XRes support into the core server, rather than letting it
languish in extmod.

Signed-off-by: Tomas Carnecky <tom@dbservice.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoMove DPMS from extmod to built-in
Tomas Carnecky [Tue, 10 Jul 2012 01:03:04 +0000 (02:03 +0100)]
Move DPMS from extmod to built-in

Always build DPMS support into the core server, rather than letting it
languish in extmod.

Signed-off-by: Tomas Carnecky <tom@dbservice.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoMove MIT-SCREEN-SAVER from extmod to built-in
Tomas Carnecky [Tue, 10 Jul 2012 01:03:03 +0000 (02:03 +0100)]
Move MIT-SCREEN-SAVER from extmod to built-in

If we've built MIT-SCREEN-SAVER support, then just build it into the
main binary, rather than leaving it in extmod.

Signed-off-by: Tomas Carnecky <tom@dbservice.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoMove RECORD from external module to built-in
Tomas Carnecky [Tue, 10 Jul 2012 01:03:02 +0000 (02:03 +0100)]
Move RECORD from external module to built-in

Rather than languishing in its own special module, move RECORD into the
core server.

Signed-off-by: Tomas Carnecky <tom@dbservice.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoMove DBE from an external module to built-in
Tomas Carnecky [Tue, 10 Jul 2012 01:03:01 +0000 (02:03 +0100)]
Move DBE from an external module to built-in

If DBE support is compiled in the server, just man up and build it into
the server, rather than having it as an external module.

Signed-off-by: Tomas Carnecky <tom@dbservice.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agomiinitext: Use ARRAY_SIZE rather than sentinel
Daniel Stone [Tue, 10 Jul 2012 01:03:00 +0000 (02:03 +0100)]
miinitext: Use ARRAY_SIZE rather than sentinel

NULL sentinels are totally lame.

v2: numExtensionModules isn't public, so keep using the provided
    sentinal - Keith Packard <keithp@keithp.com>

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Stéphane Marchesin <stephane.marchesin@gmail.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoextmod: Use ARRAY_SIZE rather than sentinel
Daniel Stone [Tue, 10 Jul 2012 01:02:59 +0000 (02:02 +0100)]
extmod: Use ARRAY_SIZE rather than sentinel

When the array gets down to size zero (which it does in later patches),
gcc complains that the index is out of bounds.  Avoid this by using
ARRAY_SIZE on extensionModules instead.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Stéphane Marchesin <stephane.marchesin@gmail.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoAdd xf86ExtensionInit for DDX extension configuration
Daniel Stone [Tue, 10 Jul 2012 01:02:58 +0000 (02:02 +0100)]
Add xf86ExtensionInit for DDX extension configuration

xf86ExtensionInit is called after configuration file parsing, so it can
perform the two parts of extension initialisation currently done by
extmod: enabling and disabling of extensions through an 'omit' option,
and SELinux configuration.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoLoader: Drop EXTERN_MODULE flag
Daniel Stone [Tue, 10 Jul 2012 01:02:57 +0000 (02:02 +0100)]
Loader: Drop EXTERN_MODULE flag

EXTERN_MODULE was used to specify that we shouldn't worry about modules
lacking a ModuleData object.  It was also completely unused.  *shrug*

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoMove extension initialisation prototypes into extinit.h
Daniel Stone [Tue, 10 Jul 2012 01:02:56 +0000 (02:02 +0100)]
Move extension initialisation prototypes into extinit.h

Create extinit.h (and xf86Extensions.h, for Xorg-specific extensions) to
hold all our extension initialisation prototypes, rather than
duplicating them everywhere.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoGLX: Insert swrast provider from GlxExtensionInit
Daniel Stone [Tue, 10 Jul 2012 01:02:55 +0000 (02:02 +0100)]
GLX: Insert swrast provider from GlxExtensionInit

Rather than making poor old miinitext.c do it, including making DMX
have fake symbols just to keep it happy.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Stéphane Marchesin <stephane.marchesin@gmail.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoReorder extension initialisation for non-Xorg
Daniel Stone [Tue, 10 Jul 2012 01:02:54 +0000 (02:02 +0100)]
Reorder extension initialisation for non-Xorg

Reorder static extension initialisation in miinitext for non-Xorg
servers to match Xorg's order.

Tested with Xephyr; checked that the extension list was identical before
and after.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoReplace INITARGS with void
Tomas Carnecky [Tue, 10 Jul 2012 01:02:53 +0000 (02:02 +0100)]
Replace INITARGS with void

INITARGS was a hardcoded define to void.  Since knowing the function
signature for your extensions is kinda useful, just replace it with a
hardcoded void, but leave the define there for API compatibility.

Signed-off-by: Tomas Carnecky <tom@dbservice.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Cyril Brulebois <kibi@debian.org>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoXinerama: Fix ExtensionInit prototype
Daniel Stone [Tue, 10 Jul 2012 01:02:52 +0000 (02:02 +0100)]
Xinerama: Fix ExtensionInit prototype

Huh, so I guess INITARGS used to be int argc, char *argv then.  Either
way, it's now void, so fix that ...

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Cyril Brulebois <kibi@debian.org>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoMake extension.h self-contained, remove C++ externs
Daniel Stone [Tue, 10 Jul 2012 01:02:51 +0000 (02:02 +0100)]
Make extension.h self-contained, remove C++ externs

externsion.h required bits from Xfuncproto.h and dixstruct.h, but
included neither; fix that.

It also had _XFUNCPROTOBEGIN and _XFUNCPROTOEND wrappers, which is a bit
pointless for a server-only library, as it's only needed for C++.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Cyril Brulebois <kibi@debian.org>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoAdd a common ARRAY_SIZE macro to dix.h
Daniel Stone [Tue, 10 Jul 2012 01:02:50 +0000 (02:02 +0100)]
Add a common ARRAY_SIZE macro to dix.h

Does what it says on the box, replacing those from Xi/ and glx/.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Cyril Brulebois <kibi@debian.org>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoXorg: Link XKB DDX library after core server libs
Daniel Stone [Tue, 10 Jul 2012 01:02:49 +0000 (02:02 +0100)]
Xorg: Link XKB DDX library after core server libs

libxorgxkb.a contains a number of libraries which are used by XKB action
code to call back into the DDX, e.g. for VT switching, termination, grab
breaking, et al.  Make sure libxkb.a comes first in the link order, so
it can mark XkbDDX* as used in order for the linker to not discard them.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoDon't make failure to -nolisten fatal
Daniel Stone [Tue, 10 Jul 2012 01:02:46 +0000 (02:02 +0100)]
Don't make failure to -nolisten fatal

If failing to disable a protocol specified by -nolisten failed, we'd
throw a FatalError and bomb startup entirely.  From poking at xtrans, it
looks like the only way we can get a failure here is because we've
specified a protocol name which doesn't exist, which probably doesn't
constitute a security risk.

And it makes it possible to start gdm even though you've built with
--disable-tcp-transport.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoXext: Add hashtable.h to sources to fix distcheck
Daniel Stone [Tue, 10 Jul 2012 01:02:45 +0000 (02:02 +0100)]
Xext: Add hashtable.h to sources to fix distcheck

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
12 years agoReplace padlength tables with inline functions from misc.h
Alan Coopersmith [Tue, 10 Jul 2012 02:12:44 +0000 (19:12 -0700)]
Replace padlength tables with inline functions from misc.h

Adds new function padding_for_int32() and uses existing pad_to_int32()
depending on required results.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Tested-by: Daniel Stone <daniel@fooishbar.org>
12 years agoephyrGLXQueryServerString: Stop making an unused copy of server_string
Alan Coopersmith [Tue, 10 Jul 2012 02:12:44 +0000 (19:12 -0700)]
ephyrGLXQueryServerString: Stop making an unused copy of server_string

ephyrGLXQueryServerString() carefully allocated a buffer padded to the
word-aligned string length for sending to the client, copied the string
to it, and then forgot to use it, potentially reading a few bytes of
garbage past the end of the server_string buffer.

Since WriteToClient already handles the necessary padding, just send
it the actual length of the original server_string, and don't bother
making a padded copy.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Tested-by: Daniel Stone <daniel@fooishbar.org>