Commit graph

11672 commits

Author SHA1 Message Date
Alan Coopersmith
b6be94d89c Fix up formatting of initializers for arrays of structs
The indenter seems to have gotten confused by initializing arrays of
structs with the struct defined inline - for predefined structs it did
a better job, so match that.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
(cherry picked from commit 9f7ef7f7f0)
2012-08-19 08:45:55 -07:00
Adam Jackson
afe8ef9043 randr: Fix up yet another corner case in preferred mode selection
Let's say - purely for the sake of argument, mind you - that you had a
server GPU with anemic memory bandwidth, and you walked up to it and
plugged in a monitor that was 1920x1080 because that's what happened to
be on the crash cart.  Say the memory bandwidth is such that anything
larger than 1280x1024 gets filtered away.  Now you're in trouble,
because the established timings section includes a 720x400 mode because
that's what DOS 80x25 is, and that happens to just about match the
physical aspect ratio.

Instead let's reuse the logic from the existing aspect-match path: pick
the larger mode of either the physical aspect ratio or 4:3.

Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit ff56f88616)
2012-08-19 08:42:22 -07:00
Dave Airlie
af8ffefc07 kinput: allocate enough space for null character.
This code wasn't allocating enough space and was assigning the NULL
one past the end.

Pointed out by coverity.

Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 531785dd74)
2012-08-19 08:41:37 -07:00
Vic Lee
3a2b67577c ephyr: Resize screen automatically when parent window is resized
Bugzilla: https://bugs.freedesktop.org/25804
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Vic Lee <llyzs@163.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 8843aed82e)
2012-08-19 08:41:15 -07:00
Adam Jackson
7749c58134 ephyr: Fix up some bizarre formatting
Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit b46bbafae6)
2012-08-19 08:40:20 -07:00
Jeremy Huddleston Sequoia
ab46bdec65 configure.ac: Version bump to 1.12.3.901 (1.12.4 RC1)
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
2012-08-03 10:21:11 -07:00
Jeremy Huddleston Sequoia
631715e129 XQuartz: Fix xp_window_bring_all_to_front linking on OS versions with older libXplugin
Found-by: Tinderbox
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
(cherry picked from commit 884f51e977)
2012-08-03 10:16:28 -07:00
Jon TURNEY
e2df31de39 hw/xquartz: Various fixes for pseudoramiX.c
Various fixes, applied to panoramiX.c in commit 2b266eda, also need applying to pseudoramiX.c:
 Fix panoramiX request and reply swapping
 Set window and screen values in panoramix replies
 Prevent buffer overrun in ProcPanoramiXGetScreenSize

These fixes seem to be necessary in order to compile pseudoramiX.c with gcc

pseudoramiX.c: In function 'ProcPseudoramiXGetState':
pseudoramiX.c:221:56: error: call to 'wrong_size' declared with attribute error: wrong sized variable passed to swap
pseudoramiX.c: In function 'ProcPseudoramiXGetScreenCount':
pseudoramiX.c:250:62: error: call to 'wrong_size' declared with attribute error: wrong sized variable passed to swap
pseudoramiX.c: In function 'ProcPseudoramiXGetScreenSize':
pseudoramiX.c:283:56: error: call to 'wrong_size' declared with attribute error: wrong sized variable passed to swap
pseudoramiX.c:284:57: error: call to 'wrong_size' declared with attribute error: wrong sized variable passed to swap

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
(cherry picked from commit 067931ccce)
2012-08-03 10:16:21 -07:00
Jeremy Huddleston
dfc943609a XQuartz: Call xp_window_bring_all_to_front if available in libXplugin
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
(cherry picked from commit fd228d3184)
2012-08-01 18:13:37 -07:00
Jeremy Huddleston
bfcc45861c XQuartz: Fix incorrect PseudoramiXExtensionInit prototype
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
(cherry picked from commit 1a64d3cc9c)
2012-08-01 18:11:53 -07:00
Jeremy Huddleston
cb8fbccba7 XQuartz: Silence an unused-variable warning
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
(cherry picked from commit 228f8bfe81)
2012-08-01 18:10:46 -07:00
Daniel Stone
1b2ae1fd7a 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>
(cherry picked from commit 59c2c4f645)
2012-08-01 18:09:12 -07:00
Daniel Stone
fc13888f19 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>
(cherry picked from commit bddb8c6cbe)
2012-08-01 18:04:37 -07:00
Daniel Stone
ce106ae299 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>
(cherry picked from commit 67953d6975)
2012-08-01 18:02:49 -07:00
Daniel Stone
7b7db8ced2 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>
(cherry picked from commit 656af2c7e7)
2012-08-01 18:02:06 -07:00
Alan Coopersmith
af7ff8f1cc Initialize padding bits to 0 in ErrorConnMax()
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Tested-by: Daniel Stone <daniel@fooishbar.org>
(cherry picked from commit 7a29f68782)
2012-08-01 17:59:52 -07:00
Alan Coopersmith
f29c0ddd5a Set padding bytes to 0 in WriteToClient
Clear them out when needed instead of leaving whatever values were
present in previously sent messages.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Tested-by: Daniel Stone <daniel@fooishbar.org>
(cherry picked from commit bed610fcae)
2012-08-01 17:59:40 -07:00
Alan Coopersmith
eeefadf95e Use calloc to zero fill buffers being allocated for replies & events
Ensures padding bytes are zero-filled

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Tested-by: Daniel Stone <daniel@fooishbar.org>
(cherry picked from commit cdf5bcd420)
2012-08-01 17:59:23 -07:00
Alan Coopersmith
8cefa9bf07 xf86dga2.c & xf86vmode.c: Move REQUEST_SIZE_MATCH checks before using stuff
Seems silly waiting to check if the client failed to send us enough bytes
until after we've already tried using them.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Tested-by: Daniel Stone <daniel@fooishbar.org>
(cherry picked from commit ef0f701c92)
2012-08-01 17:59:07 -07:00
Alan Coopersmith
18863154bd ProcRRGetScreenInfo: swap configTimestamp as well
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Tested-by: Daniel Stone <daniel@fooishbar.org>
(cherry picked from commit 15bc13c8d0)
2012-08-01 17:57:46 -07:00
Jaroslav Šmíd
abffc882af Bug 51375: Xorg doesn't set status for RRGetOutputInfo
https://bugs.freedesktop.org/show_bug.cgi?id=51375
https://bugs.freedesktop.org/attachment.cgi?id=63397

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Tested-by: Daniel Stone <daniel@fooishbar.org>
(cherry picked from commit 3a013b8816)
2012-08-01 17:56:46 -07:00
Keith Packard
5c6c4fc082 Add 'install-headers' target in the top-level Makefile
This target recursively locates directories with sdk headers and
installs them all. Useful when you want to build a complete new X
server and drivers without having to install the X server before the
drivers are actually working.

Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit d1c639c006)
2012-08-01 17:55:06 -07:00
Dave Airlie
4060ebfea0 xf86: cursor code got mangled by indenting
This fixes some really ugly code that got mangled by the indenting.

Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 2c52d776a4)
2012-08-01 17:51:49 -07:00
Peter Hutterer
31ca2e2d5d list.h: don't crash when removing an element from a NULL list
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 167993254a)
2012-08-01 17:50:45 -07:00
Michal Srb
7197c1c571 Look for ModuleData only in appropriate library
LoaderSymbol calls dlsym with RTLD_DEFAULT pseudo handle making it search in
every loaded library. In addition glibc adds NODELETE flag to the library
containing the symbol.

It's used in doLoadModule to locate <modulename>ModuleData symbol, the
module's library gets the flag and is kept in memory even after it is
unloaded.

This patch adds LoaderSymbolFromModule function that looks for symbol only in
library specified by handle. That way the NODELETE flag isn't added.

This glibc behavior doesn't seem to be documented, but even if other
implementations differ, there is no reason to search ModuleData symbol outside
the module's library.

Signed-off-by: Michal Srb <msrb@suse.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>

v2: Switch LoaderSymbolFromModule arguments order.
    Correct description.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 258abbf823)
2012-08-01 17:40:41 -07:00
Peter Hutterer
b0e3696e01 dix: fix dereference before null check
Found by Coverity.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 55ff20eb37)
2012-08-01 17:38:28 -07:00
Peter Hutterer
b99a4ac32c xkb: use local variable instead of casting arg
No functional changes.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 252a69b592)
2012-08-01 17:37:59 -07:00
Aaron Plattner
465a7a253a randr: Fix REQUEST vs. REQUEST_SIZE_MATCH mismatch
ProcRRGetScreenSizeRange uses REQUEST(xRRGetScreenSizeRangeReq) followed by
REQUEST_SIZE_MATCH(xRRGetScreenInfoReq).  This happens to work out because both
requests have the same size, so this is not a functional change, just a cosmetic
one.

Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 212b980323)
2012-08-01 17:32:49 -07:00
Keith Packard
6f4b6bca4c randr: Catch two more potential unset rrScrPriv uses
Ricardo Salveti <ricardo.salveti@linaro.org> found one place where the
randr code could use the randr screen private data without checking
for null first. This happens when the X server is running with
multiple screens, some of which are randr enabled and some of which
are not. Applications making protocol requests to the non-randr
screens can cause segfaults where the server touches the unset private
structure.

I audited the code and found two more possible problem spots; the
trick to auditing for this issue was to look for functions not taking
a RandR data structure and where there was no null screen private
check above them in the call graph.

Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 855003c333)
2012-08-01 17:31:49 -07:00
Keith Packard
47c61c5647 randr: Clean up compiler warnings about unused and shadowing variables
set but not used variables
shadowing a previous local

A hidden problem was that the VERIFY_RR_* macros define local 'rc'
variables, any other local definitions for those would be shadowed and
generate warnings from gcc. I've renamed the other locals 'ret'
instead of 'rc'.

Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 4ba340cfaa)
2012-08-01 17:30:32 -07:00
Ricardo Salveti de Araujo
ba0fe0092c randr: first check pScrPriv before using the pointer at RRFirstOutput
Fix a seg fault in case pScrPriv is NULL at ProcRRGetScreenInfo,
which later calls RRFirstOutput.

Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@linaro.org>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 32603f57ca)
2012-08-01 17:30:15 -07:00
Alan Coopersmith
b348cfd4b8 Remove obsolete tab stop comments from hw/xfree86/parser/*.c
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit ff541e0a1f)
2012-08-01 17:15:46 -07:00
Alan Coopersmith
94c7d0f8b9 Fix some overly indented/poorly line wrapped comments in dix/events.c
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 687536b104)
2012-08-01 17:15:21 -07:00
Alan Coopersmith
49bb2694f1 OtherClientGone: Remove unreachable return statement
Now that FatalError is marked as _X_NORETURN, the compilers know we
can't get here, and the return statement added to make them happy in
the past now makes them unhappy.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 93a378aad4)
2012-08-01 17:15:21 -07:00
Julien Cristau
e08f1c261c Bump video ABI version to 12.1
Track the addition of DRI2CreateDrawable2.

Signed-off-by: Julien Cristau <jcristau@debian.org>
2012-07-30 19:26:26 +02:00
Michel Dänzer
953c8df9fb 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>
(cherry picked from commit a2d0829531)

Signed-off-by: Julien Cristau <jcristau@debian.org>
2012-07-30 19:26:20 +02:00
Michel Dänzer
60da502963 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>
(cherry picked from commit 8a87acc9e5)

Signed-off-by: Julien Cristau <jcristau@debian.org>
2012-07-30 19:26:15 +02:00
Daniel Stone
cdeb178cd0 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>
(cherry picked from commit b8a3267c36)

Signed-off-by: Julien Cristau <jcristau@debian.org>
2012-07-30 19:26:08 +02:00
Peter Hutterer
60e0d20566 configure.ac: Bump to Version 1.12.3
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2012-07-09 10:44:01 +10:00
Torsten Kaiser
738e55ebbd xfree86: EDID Est III parsing skips some modes
This loop needs to count from 7 to 0, not only from 7 to 1.
The current code always skips the modes {1152, 864, 75, 0}, {1280, 1024, 85, 0},
{1400, 1050, 75, 0}, {1600, 1200, 70, 0} and {1920, 1200, 60, 0}.

Signed-off-by: Torsten Kaiser <x11@ariolc.dyndns.org>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 7c9d8cbd36)
2012-07-09 10:39:29 +10:00
Torsten Kaiser
f27fcb81c4 xfree86: EDID Est III parsing can walk off end of array
Using -O3 gcc notes that m could reach beyound the end of the EstIIIModes array,
if the last bits of the 11s byte where set.
Fix this, by extending the array to cover all possible bits from est.

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

Signed-off-by: Torsten Kaiser <x11@ariolc.dyndns.org>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 0b3abacb64)
2012-07-09 10:39:24 +10:00
Peter Hutterer
e4497cd002 xfree86: always enable SIGIO on OsVendorInit (#50957)
Drivers call xf86InstallSIGIOHandler() for their fd on DEVICE_ON. That
function does not actually enable the signal if it was blocked to begin
with. As a result, if one vt-switches away from the server (SIGIO is
blocked) and then triggers a server regeneration, the signal remains
blocked and input devices are dead.

Avoid this by always unblocking SIGIO when we start the server.

X.Org Bug 50957 <http://bugs.freedesktop.org/show_bug.cgi?id=50957>

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 9f1edced9a)
2012-07-09 10:39:03 +10:00
Peter Hutterer
ac85a6866f Xi: extend PropagateMask to EMASKSIZE
Number of devices is 2 + MAXDEVICES, with index 0 and 1 reserved for
XIAll{Master}Devices. At the current size, PropagateMask would be overrun in
RecalculateDeviceDeliverableEvents().

Found by Coverity.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 12bfb4cf1b)
2012-07-09 10:39:02 +10:00
Peter Hutterer
eca5de2f1a dix: fix memory leak in TouchEventHistoryReplay
Don't leak if ti->history is NULL.

Found by coverity.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit a9c09f8f8e)
2012-07-09 10:39:02 +10:00
Peter Hutterer
c4d28c40bf xfree86: fix use-after-free issue in checkInput
*dev is the condition of the while loop we're in, reset to NULL after
freeing

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit e3f47be9fb)
2012-07-09 10:39:02 +10:00
Peter Hutterer
487e8e8299 configure.ac: Version bump to 1.12.2.902 (1.12.3 RC2)
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2012-07-02 10:15:14 +10:00
Andy Ritger
d21b6f0a2d randr: Don't recurse into mieqProcessInputEvents() from RRTellChanged().
Call UpdateCurrentTimeIf(), not UpdateCurrentTime(), from RRTellChanged().
The latter calls ProcessInputEvents(), which can trigger a recursion
into mieqProcessInputEvents().  The former omits the call to
ProcessInputEvents().

Signed-off-by: Andy Ritger <aritger@nvidia.com>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit dae317e726)
2012-07-01 09:45:42 +10:00
Peter Hutterer
a6de3eac66 dix: if the scroll valuator reaches INT_MAX, reset to 0
Too much scrolling down may eventually trigger an overflow of the valuator.
If this happens, reset the valuator to 0 and skip this event for button
emulation. Clients will have to figure out a way to deal with this, but a
scroll event from (close to) INT_MAX to 0 is a hint of that it needs to be
ignored.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
(cherry picked from commit 54476b5e44)
2012-07-01 09:36:04 +10:00
Peter Hutterer
b0be2d29b2 Xi: fix XITouchClass sourceid assignment
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
(cherry picked from commit 72cfc1a097)
2012-06-25 14:05:03 +10:00
Peter Hutterer
4af8e22b1a xkb: warn if XKB SlowKeys have been automatically enabled
Slow keys are enabled when the XKB AccessX features are generally enabled
(ctrls->enabled_ctrls & XkbAccessXKeysMask) and either shift key is held for
8 seconds. For the unsuspecting user this appears as if the keyboard
suddenly stops working.

Print a warning to the log, so we can later tell them "told you so".

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
(cherry picked from commit ff41753b1b)
2012-06-20 11:40:41 +10:00