platform/upstream/xorg-server.git
11 years agofb: drop two unneeded shadowing variables
Peter Hutterer [Thu, 14 Feb 2013 00:06:55 +0000 (10:06 +1000)]
fb: drop two unneeded shadowing variables

fbpict.c: In function 'fbGlyphs':
fbpict.c:188:6: warning: declaration of 'x' shadows a previous local
[-Wshadow]
fbpict.c:111:9: warning: shadowed declaration is here [-Wshadow]
fbpict.c:188:9: warning: declaration of 'y' shadows a previous local
[-Wshadow]
fbpict.c:111:12: warning: shadowed declaration is here [-Wshadow]

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Soren Sandmann <ssp@redhat.com>
Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
11 years agoxfree86: drop unused prevSIGIO
Peter Hutterer [Thu, 14 Feb 2013 00:04:06 +0000 (10:04 +1000)]
xfree86: drop unused prevSIGIO

Unused as of 5d309af2ed93e91c7d72f548a11052051efbb40f

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
11 years agorandr: fix "set but unused" warnings
Peter Hutterer [Thu, 14 Feb 2013 00:02:02 +0000 (10:02 +1000)]
randr: fix "set but unused" warnings

rrcrtc.c: In function 'RRCrtcDetachScanoutPixmap':
rrcrtc.c:366:9: warning: variable 'ret' set but not used
[-Wunused-but-set-variable]
rrcrtc.c: In function 'rrCheckPixmapBounding':
rrcrtc.c:505:13: warning: variable 'ret' set but not used
[-Wunused-but-set-variable]
rrcrtc.c:445:9: warning: unused variable 'i' [-Wunused-variable]

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
11 years agoMerge remote-tracking branch 'jeremyhu/master'
Keith Packard [Thu, 14 Feb 2013 19:05:48 +0000 (11:05 -0800)]
Merge remote-tracking branch 'jeremyhu/master'

11 years agoos: fix pnprintf OOB buffer read for unterminated length modifiers
Peter Hutterer [Thu, 14 Feb 2013 06:31:13 +0000 (16:31 +1000)]
os: fix pnprintf OOB buffer read for unterminated length modifiers

Format strings with length modifiers but missing format specifier like "%0"
will read one byte past the array size.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoXORG_TLS: Pick the first option that works (ie: prefer __thread)
Jeremy Huddleston Sequoia [Sun, 10 Feb 2013 04:53:02 +0000 (20:53 -0800)]
XORG_TLS: Pick the first option that works (ie: prefer __thread)

Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
11 years agoos: Ensure <dix-config.h> is included in strndup.c
Jeremy Huddleston Sequoia [Sun, 10 Feb 2013 04:40:10 +0000 (20:40 -0800)]
os: Ensure <dix-config.h> is included in strndup.c

Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
11 years agoXQuartz: Ensure <dix-config.h> is included in capabilities.c
Jeremy Huddleston Sequoia [Sun, 10 Feb 2013 04:34:33 +0000 (20:34 -0800)]
XQuartz: Ensure <dix-config.h> is included in capabilities.c

Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
11 years agoUpdate to version 1.3.99.902 (1.14 RC2) xorg-server-1.13.99.902
Keith Packard [Thu, 14 Feb 2013 05:39:37 +0000 (21:39 -0800)]
Update to version 1.3.99.902 (1.14 RC2)

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agorandr: unref the provider shared pixmap the appropriate number of times
Aaron Plattner [Thu, 24 Jan 2013 00:58:47 +0000 (16:58 -0800)]
randr: unref the provider shared pixmap the appropriate number of times

When an RandR shared pixmap is created in rrCreateSharedPixmap, it has a refcnt
of 1.  Then, PixmapShareToSlave bumps the refcnt to 2.  However, there's no
corresponding PixmapUnshareFromSlave where the refcnt can be decreased again,
and there's no convenient common place where the refcnt can be decremented when
the slave pixmap is destroyed.

Fix this by just unreffing the pixmap twice in RRCrtcDetachScanoutPixmap.

Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoxf86: use nt_list_for_each_entry_safe to walk InputHandlers in xf86Wakeup
Aaron Plattner [Mon, 11 Feb 2013 22:31:56 +0000 (14:31 -0800)]
xf86: use nt_list_for_each_entry_safe to walk InputHandlers in xf86Wakeup

This is necessary when the input handler deletes itself from the
list. Bug found by Maarten Lankhorst, this patch uses the list macros
instead of open-coding the fix.

Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
11 years agoxfree86: Man page shouldn't say Device is mandatory anymore
Bryce Harrington [Fri, 8 Feb 2013 23:56:02 +0000 (15:56 -0800)]
xfree86: Man page shouldn't say Device is mandatory anymore

man xorg.conf states that the 'Device' identifier is required in the
'Screen' section, yet current xserver defaults properly and boots up
fine without it.

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=20742
Signed-off-by: Bryce Harrington <bryce@canonical.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoxfree86: Use fbdev/vesa driver on Oaktrail, Medfield, CDV rather than -intel
Bryce Harrington [Fri, 8 Feb 2013 23:56:01 +0000 (15:56 -0800)]
xfree86: Use fbdev/vesa driver on Oaktrail, Medfield, CDV rather than -intel

Instead of defaulting to -intel for Oaktrail, Medfield, and CDV chips,
default to -fbdev.  For Poulsbo (only), attempt to use -psb if it's
installed, and fallback to fbdev otherwise.  All other Intel chips
should use -intel.

This fixed an issue where -intel would load on these chips and cause a
boot failure.  Newer -intel drivers avoid the boot hang, but it's still
the wrong driver to load, so why take chances.

The patch was originally created by Stefan Dirsch for OpenSUSE.  We have
included it in our stable release (Ubuntu "quantal" 12.10) since
December.

ref:  https://bugzilla.novell.com/show_bug.cgi?id=772279
ref:  https://bugs.launchpad.net/ubuntu/+bug/1069031
Fixes:  https://bugs.freedesktop.org/show_bug.cgi?id=60514
Signed-off-by: Bryce Harrington <bryce@canonical.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agorandr: bump advertised RandR version to 1.4
Dave Airlie [Tue, 5 Feb 2013 15:46:06 +0000 (07:46 -0800)]
randr: bump advertised RandR version to 1.4

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
Tested-by: Aaron Plattner <aplattner@nvidia.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoShort-cut the input device cleanup process during AbortServer()
Peter Hutterer [Wed, 30 Jan 2013 03:20:07 +0000 (03:20 +0000)]
Short-cut the input device cleanup process during AbortServer()

If we're about to abort, we're already in the signal handler and cannot call
down to the default device cleanup routines (which reset, free, alloc, and
do a bunch of other things).

Add a new DEVICE_ABORT mode to signal a driver's DeviceProc that it must
reset the hardware if needed but do nothing else. An actual HW reset is only
required for some drivers dealing with the HW directly.

This is largely backwards-compatible, hence the input ABI minor bump only.

Drivers we care about either return BadValue on a mode that's not
DEVICE_{INIT|ON|OFF|CLOSE} or print an error and return BadValue. Exception
here is vmmouse, which currently ignores it and would not reset anything.
This should be fixed if the reset is required.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agodix: support the transformation matrix for relative devices.
Peter Hutterer [Fri, 8 Feb 2013 04:52:02 +0000 (14:52 +1000)]
dix: support the transformation matrix for relative devices.

The transformation matrix we previously stored was a scaled matrix based on
the axis ranges of the device. For relative movements, the scaling is not
required (or desired).

Store two separate matrices, one as requested by the client, one as the
product of [scale . matrix . inv_scale]. Depending on the type of movement,
apply the respective matrix.

For relative movements, also drop the translation component since it doesn't
really make sense to use that bit.

Input ABI 19

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoos: Round fraction in pnprintf %f format
Keith Packard [Fri, 8 Feb 2013 16:57:43 +0000 (08:57 -0800)]
os: Round fraction in pnprintf %f format

Truncating the fraction part leads to a test failure where -1203.30 is
printed as -1203.29. Round this to the nearest value instead by adding
0.5 before converting to an integer

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agodix: Set focus field on XI2 crossing events
Carlos Garnacho [Wed, 6 Feb 2013 13:07:22 +0000 (14:07 +0100)]
dix: Set focus field on XI2 crossing events

Set on DeviceEnterLeaveEvent() the xXIEnterEvent->focus field
similarly to how the CoreEnterLeaveEvent() function above does
for core events.

This fixes bug https://bugzilla.gnome.org/show_bug.cgi?id=677329
reported to GTK+, where focus handling on window managers with
sloppy focus or no window manager present was broken due to this
field being always set to FALSE.

Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11 years agodix: when shutting down slave devices, shut down xtest devices last
Peter Hutterer [Fri, 25 Jan 2013 01:47:32 +0000 (11:47 +1000)]
dix: when shutting down slave devices, shut down xtest devices last

XTest devices are the first ones in the list, being initialised together
with the master devices. If we disable the devices in-order and a device has
a button down when being disabled, the XTest device is checked for a
required button release (xkbAccessX.c's ProcessPointerEvent). This fails if
the device is already NULL.

Instead of putting the check there, disable the devices in the reverse order
they are initialised. Disable physical slaves first, then xtest devices,
then the master devices.

Testcase: shut down server with a button still held down on a physical
device

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
11 years agoMerge branch 'ptraccel-fixes' into for-keith
Peter Hutterer [Fri, 8 Feb 2013 04:10:52 +0000 (14:10 +1000)]
Merge branch 'ptraccel-fixes' into for-keith

11 years agodix: pre-scale relative events from abs devices to desktop ratio (#31636)
Peter Hutterer [Fri, 11 Jan 2013 04:22:07 +0000 (14:22 +1000)]
dix: pre-scale relative events from abs devices to desktop ratio (#31636)

Absolute devices may send relative events depending on the mode (synaptics
by default, wacom per option). The relative events are added to the previous
position, converted into device coordinates and then scaled into desktop
coordinates for pointer movement.

Because the device range must be mapped into the desktop coordinate range,
this results in uneven scaling depending dimensions, e.g. on a setup with
width == 2 * height, a relative movement of 10/10 in device coordinates
results in a cursor movement of 20/10 (+ acceleration)

Other commonly user-visible results:
* the touchpad changing acceleration once an external monitor as added.
* drawing a circle on a wacom tablet in relative mode gives an ellipsis in
  the same ratio as the desktop dimensions.

Solution: pre-scale the incoming relative x/y coordinates by width/height
ratio of the total desktop size. Then add them to the previous
coordinates and scale back with the previous mapping, which will undo the
pre-scaling and give us the right movement.

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

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
11 years agodix: unify prefix for ptraccel debugging in DebugAccelF macro
Peter Hutterer [Thu, 10 Jan 2013 22:53:24 +0000 (08:53 +1000)]
dix: unify prefix for ptraccel debugging in DebugAccelF macro

If we're already using our own custom macro, might as well use it properly.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
11 years agodix: use BUG_RETURN_VAL for an error message
Peter Hutterer [Thu, 10 Jan 2013 22:52:08 +0000 (08:52 +1000)]
dix: use BUG_RETURN_VAL for an error message

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
11 years agodix: add some more info to a ptraccel debug msg
Peter Hutterer [Thu, 10 Jan 2013 22:49:15 +0000 (08:49 +1000)]
dix: add some more info to a ptraccel debug msg

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
11 years agodix: fix ptraccel debugging printfs
Peter Hutterer [Thu, 10 Jan 2013 03:19:27 +0000 (13:19 +1000)]
dix: fix ptraccel debugging printfs

This is mostly sigsafe code, so use sigsave printf. And update some fields
to double that used to be int.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
11 years agoxkb: Fix repeat behaviour of redirect and message actions
Andreas Wettstein [Tue, 29 Jan 2013 20:49:20 +0000 (21:49 +0100)]
xkb: Fix repeat behaviour of redirect and message actions

The redirect and the message action filter functions implicitly assumed that
when they receive an event for the same keycode they were activated for, that
this is the a release of the key that activated the filter.  This is not true
if the key autorepeats.  Due to the incorrect assumption, the effective key
repeat rate was effectively halved.

Signed-off-by: Andreas Wettstein <wettstein509@solnet.ch>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11 years agoXext: if a root window is given in XTestFakeInput, move to that
Peter Hutterer [Sat, 26 Jan 2013 05:53:08 +0000 (15:53 +1000)]
Xext: if a root window is given in XTestFakeInput, move to that

For absolute events, if the client specifies a screen number offset the
coordinates by that. And add a new flag so we know when _not_ to add the
screen offset in GPE.

Without this offset and the flag, GPE would simply add the offset of the
current screen if POINTER_SCREEN is set.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
11 years agoXext: pass the current screen to miProcessDeviceEvent() from xtest calls
Peter Hutterer [Tue, 29 Jan 2013 05:13:44 +0000 (15:13 +1000)]
Xext: pass the current screen to miProcessDeviceEvent() from xtest calls

Not passing in a screen means we skip the screen crossing updates, so a
xtest event that changes between ScreenRecs won't do so until the next
physical event comes in or never, whichever comes earlier.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
11 years agodix: when scaling from desktop coord, take the total desktop size (#51904)
Sybren van Elderen [Tue, 29 Jan 2013 05:43:57 +0000 (15:43 +1000)]
dix: when scaling from desktop coord, take the total desktop size (#51904)

Scaled is already in desktop coordinates, take the total width into account,
not just the current screen's width.

Fixes Xdmx pointer position calculation.

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

Signed-off-by: Sybren van Elderen <sowmestno@msn.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11 years agoinclude: fix typo in list description
Peter Hutterer [Tue, 29 Jan 2013 02:51:15 +0000 (12:51 +1000)]
include: fix typo in list description

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11 years agoxfree86: bail on misformed acpi strings (#73227)
Ted Felix [Tue, 29 Jan 2013 06:36:48 +0000 (16:36 +1000)]
xfree86: bail on misformed acpi strings (#73227)

If acpid sends a string in a format that we can't parse, bail out instead of
potentially dereferencing a NULL-pointer.

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

Signed-off-by: Ted Felix <ted@tedfelix.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11 years agoXi: limit valuator copy to valuator array size (#59939)
Peter Hutterer [Tue, 29 Jan 2013 01:01:29 +0000 (11:01 +1000)]
Xi: limit valuator copy to valuator array size (#59939)

mask[(MAX_VALUATORS + 7)/8] is larger than data[MAX_VALUATORS], so static
code checkers think we may be running OOB on the data array. Mask is
initialized to 0, so this should not happen, but change it anyway to shut up
code analyzer noise.

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

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
11 years agoXext: avoid null-pointer dereference in XTestFakeInput (#59937)
Alan Coopersmith [Tue, 29 Jan 2013 00:24:32 +0000 (10:24 +1000)]
Xext: avoid null-pointer dereference in XTestFakeInput (#59937)

dv is still NULL at this point, so return firstValuator instead (which is
the same value dv->firstValuator would be once initialized)

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

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11 years agodmx: don't include dmx-config.h from xdmxconfig (#37502)
Peter Hutterer [Sat, 26 Jan 2013 04:13:33 +0000 (14:13 +1000)]
dmx: don't include dmx-config.h from xdmxconfig (#37502)

dmx-config.h is a server header which includes dix-config.h. That again
defines a bunch of server-specifics, including setting the size of XID to
32 bit.

libX11 uses unsigned long (8 bits on x86_64). XGCValues thus ends up being
16 bytes smaller in xdmxconfig than in the library, causing garbage to be
sent to the server.

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

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
11 years agoprotocol-versions: Bump minor version of XI
Jasper St. Pierre [Wed, 23 Jan 2013 18:11:55 +0000 (13:11 -0500)]
protocol-versions: Bump minor version of XI

This was accidentally excluded when we added barriers.

Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoconfig/udev: fix "removing GPU device" format string mistake
Aaron Plattner [Fri, 11 Jan 2013 01:01:17 +0000 (17:01 -0800)]
config/udev: fix "removing GPU device" format string mistake

 udev.c: In function 'device_removed':
 udev.c:270:9: warning: format '%d' expects argument of type 'int', but argument 3 has type 'const char *' [-Wformat]

Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoxserver: fix build regression since 91ab237358c6e33da854914d3de493a9cbea7637
Dave Airlie [Mon, 21 Jan 2013 21:39:53 +0000 (07:39 +1000)]
xserver: fix build regression since 91ab237358c6e33da854914d3de493a9cbea7637

inputstr, double defines TouchListener typedef, maybe some gcc handles it,
but not all.

fixes tinderbox

Reported-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoMerge remote-tracking branch 'jturney/xserver-next'
Keith Packard [Sun, 20 Jan 2013 23:58:38 +0000 (15:58 -0800)]
Merge remote-tracking branch 'jturney/xserver-next'

11 years agoMerge remote-tracking branch 'whot/for-keith'
Keith Packard [Sun, 20 Jan 2013 23:52:26 +0000 (15:52 -0800)]
Merge remote-tracking branch 'whot/for-keith'

11 years agoos: add support for %f to pnprintf
Peter Hutterer [Thu, 10 Jan 2013 03:20:12 +0000 (13:20 +1000)]
os: add support for %f to pnprintf

This is the lazy man's %f support. Print the decimal part of the number,
then append a decimal point, then print the first two digits of the
fractional part. So %f in sigsafe printing is really %.2f.

No boundary checks in place here.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
11 years agoos: silently ignore length modifiers in pnprintf
Peter Hutterer [Thu, 10 Jan 2013 03:24:05 +0000 (13:24 +1000)]
os: silently ignore length modifiers in pnprintf

Until we have support for them, ignore any length modifiers so we don't need
to update all callers.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
11 years agotest/signal-logging: simplify tests using sprintf
Peter Hutterer [Thu, 17 Jan 2013 06:19:51 +0000 (16:19 +1000)]
test/signal-logging: simplify tests using sprintf

Ever looked at your own code and thought 'WTF was I thinking?'. yeah, that.

Instead of passing in the expected string just use sprintf to print the
number for us and compare. In the end we're just trying to emulate printf
behaviour anyway.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
11 years agohw/xwin: Stop assuming WS_EX_APPWINDOW style in WM_SHOWWINDOW
Jon TURNEY [Sat, 11 Feb 2012 12:22:17 +0000 (12:22 +0000)]
hw/xwin: Stop assuming WS_EX_APPWINDOW style in WM_SHOWWINDOW

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
11 years agohw/xwin: Use ITaskBarList interface to ensure show-on-taskbar state is updated correctly
Jon TURNEY [Wed, 9 Jan 2013 20:15:01 +0000 (20:15 +0000)]
hw/xwin: Use ITaskBarList interface to ensure show-on-taskbar state is updated correctly

Use ITaskBarList interface to ensure that the taskbar notices if the window has
changed it's style in a way which affects if the taskbar shows it or not.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
11 years agohw/xwin: Ensure full styling is applied when the window is mapped
Jon TURNEY [Thu, 10 Jan 2013 14:35:56 +0000 (14:35 +0000)]
hw/xwin: Ensure full styling is applied when the window is mapped

Move styling update code from WM_WM_HINTS_EVENT to a function UpdateStyle(),
which is also invoked from WM_WM_MAP3, so everything which needs to be done
to style the window happens when it is mapped

(Otherwise, the appearance of the window is sensitive to the timing of the
notification of the windows appearance hint properties being set relative to
window creation. e.g. see [1])

[1] http://sourceware.org/ml/cygwin-xfree/2012-06/msg00004.html

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
11 years agohw/xwin: Make sure that WM_WM_HINTS_EVENT does nothing for override-redirect windows
Jon TURNEY [Sat, 31 Mar 2012 17:45:28 +0000 (18:45 +0100)]
hw/xwin: Make sure that WM_WM_HINTS_EVENT does nothing for override-redirect windows

Future work: It looks like this code could be rationalized quite a lot: It might
make sense to pull the checking for override-redirect up out of UpdateIcon() and
UpdateName() and consolidate WM_WM_MAP2 and WM_WM_MAP3

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
11 years agohw/xwin: Add a new WM_WM_HINTS_EVENT event to update window style
Jon TURNEY [Sun, 5 Feb 2012 11:25:39 +0000 (11:25 +0000)]
hw/xwin: Add a new WM_WM_HINTS_EVENT event to update window style

Add a new WM_WM_HINTS_EVENT event to update window style if any of the
properties which affect window style change

Check PropertyNotify events for any of the window properties which we consider
to decide on the window style, and update the window style by sending a
WM_WM_HINTS_EVENT message to the WM.

This allows the styling of the window to change during it's lifetime.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
11 years agohw/xwin: Move reshape code from winUpdateWindowPosition() to the map event handler
Jon TURNEY [Thu, 10 Jan 2013 14:37:45 +0000 (14:37 +0000)]
hw/xwin: Move reshape code from winUpdateWindowPosition() to the map event handler

Move reshape code, which was only used when handling a map event, from
winUpdateWindowPosition(), to put it explicitly in the map event handler.

Remove 'reshape' parameter from winUpdatePosition().

(Note that there's no handling of the ShapeNotify event to notice when the
window shape changes, instead we hook the screen SetShape procedure and reshape
the native window then)

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
11 years agohw/xwin: Add missing include xwin-config.h to winglobals.h
Ryan Pavlik [Sat, 1 Dec 2012 16:58:40 +0000 (16:58 +0000)]
hw/xwin: Add missing include xwin-config.h to winglobals.h

winglobals.h checks if RELOCATE_PROJECTROOT is defined to see if a declaration
of g_fLogFileChanged is needed, so must include xwin-config.h

Signed-off-by: Ryan Pavlik <rpavlik@iastate.edu>
Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
11 years agoinclude: Add RELOCATE_PROJECTROOT to xwin-config.h header
Ryan Pavlik [Wed, 26 Oct 2011 22:03:25 +0000 (17:03 -0500)]
include: Add RELOCATE_PROJECTROOT to xwin-config.h header

RELOCATE_PROJECTROOT is AC_DEFINED in configure.ac, but currently has no effect
as it doesn't appear in any AC_CONFIG_HEADER header.

When packaged for Windows, we do not have a unix-style filesystem tree, where
file needed by the X server can be found in fixed, absolute paths under the
prefix (PROJECTROOT).

Instead, the filesystem tree containing files needed by the X server and clients
will be installed with the directory containing the X server executable as the
root directory of that tree.

(Typically, this will be in the Program Files directory, which does not have a
fixed name, as it can be moved, localized, or added to to indicate x86 or x64
binaries)

So, RELOCATE_PROJECTROOT is used to make a native Windows build of the X server
look for various files (fonts, xkb data) in locations relative to the X server
rather than at absolute paths, by translating those paths at run-time.

Additionally the XKEYSYMDB, XERRORDB, XLOCALEDIR env vars checked by libX11 are
set appropriately for clients started by the X server.

Signed-off-by: Ryan Pavlik <rpavlik@iastate.edu>
Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
11 years agoMerge branch 'pointer-emulation-fixes-56558-v2' into for-keith
Peter Hutterer [Fri, 11 Jan 2013 04:58:17 +0000 (14:58 +1000)]
Merge branch 'pointer-emulation-fixes-56558-v2' into for-keith

11 years agodix: typo fix in comment
Peter Hutterer [Thu, 10 Jan 2013 00:33:05 +0000 (10:33 +1000)]
dix: typo fix in comment

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11 years agodix: fix error logging occuring in signal context of GetTouchEvents
Benjamin Tissoires [Wed, 9 Jan 2013 18:32:19 +0000 (19:32 +0100)]
dix: fix error logging occuring in signal context of GetTouchEvents

GetTouchEvents is usually called in a signal context.
Calling ErrorF for the error messages leads to X complaining about log:

(EE) BUG: triggered 'if (inSignalContext)'
(EE) BUG: log.c:484 in LogVMessageVerb()
(EE) Warning: attempting to log data in a signal unsafe manner while in signal context.
Please update to check inSignalContext and/or use LogMessageVerbSigSafe() or ErrorFSigSafe().
The offending log format message is:
%s: Attempted to start touch without x/y (driver bug)

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11 years agoxfree86: don't access the old input handler after freeing it
Peter Hutterer [Wed, 9 Jan 2013 03:58:56 +0000 (13:58 +1000)]
xfree86: don't access the old input handler after freeing it

Introduced in 323869f3298cbbfe864af9404a8aed1bf7995d79

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Dave Airlie <airlied@redhat.com>
11 years agoxf86: bump input ABI version to 19
Dave Airlie [Sat, 5 Jan 2013 08:35:42 +0000 (18:35 +1000)]
xf86: bump input ABI version to 19

The changes to miPointerSetPosition interface from int->double breaks
the SIS driver build, so time to bump this.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11 years agoxfree86: update the device state for all DGA events (#59100)
Peter Hutterer [Tue, 8 Jan 2013 01:19:09 +0000 (11:19 +1000)]
xfree86: update the device state for all DGA events (#59100)

DGA only handles master devices but it does intercept slave device events as
well (since the event handlers are per event type, not per device).

The DGA code must thus call into UpdateDeviceState to reset the button/key
state on the slave device before it discards the remainder of the event.

Test case:
- Passive GrabModeSync on VCP
- Press button
- Enable DGA after ButtonPress
- AllowEvents(SyncPointer)
- Release button

The button release is handled by DGAProcessPointerEvent but the device state
is never updated, so the slave ends up with the button permanently down.
And since the master's button state is the union of the slave states, the
master has the button permanently down.

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

Reported-by: Steven Elliott <selliott4@austin.rr.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Dave Airlie <airlied@redhat.com>
11 years agoxfree86: set event->detail for DGA pointer events
Peter Hutterer [Tue, 8 Jan 2013 00:13:53 +0000 (10:13 +1000)]
xfree86: set event->detail for DGA pointer events

Reported-by: Steven Elliott <selliott4@austin.rr.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Dave Airlie <airlied@redhat.com>
11 years agoFix two typos "requires an string value"
Peter Hutterer [Mon, 7 Jan 2013 00:44:33 +0000 (10:44 +1000)]
Fix two typos "requires an string value"

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11 years agodix: don't filter RawEvents if the grab window is not the root window (#53897)
Peter Hutterer [Wed, 22 Aug 2012 00:34:07 +0000 (10:34 +1000)]
dix: don't filter RawEvents if the grab window is not the root window (#53897)

If a XI2.1+ client has a grab on a non-root window, it  must still receive
raw events on the root window.

Test case: register for XI_ButtonPress on window and XI_RawMotion on root.
No raw events are received once the press activates an implicit grab on the
window.

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

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
11 years agohw/xwin: Fix MinGW build of winSetAppModelID.c
Jon TURNEY [Wed, 28 Nov 2012 22:25:35 +0000 (22:25 +0000)]
hw/xwin: Fix MinGW build of winSetAppModelID.c

Add missing #include <pthread.h>

In file included from /jhbuild/checkout/xorg/xserver/hw/xwin/winSetAppUserModelID.c:31:0:
/jhbuild/checkout/xorg/xserver/hw/xwin/winwindow.h:140:11: error: expected declaration specifiers or ‘...’ before ‘pthread_t’
/jhbuild/checkout/xorg/xserver/hw/xwin/winwindow.h:141:11: error: expected declaration specifiers or ‘...’ before ‘pthread_t’
/jhbuild/checkout/xorg/xserver/hw/xwin/winwindow.h:142:11: error: expected declaration specifiers or ‘...’ before ‘pthread_mutex_t’

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
11 years agohw/xwin: Process one Windows message per wakeup, rather than all of them.
Jon TURNEY [Tue, 23 Feb 2010 13:38:48 +0000 (13:38 +0000)]
hw/xwin: Process one Windows message per wakeup, rather than all of them.

De-queuing Windows messages and X events happens in the same thread of
execution.  Draining the windows message queue can lead to the X event queue
overflowing if lots of those windows messages cause X events (e.g. if a keyboard
macro program has just dumped thousands of keypresses into the Windows message
queue).  See the mailing list thread [1] for more details.

Processing one Windows message per wakeup, rather than all of them gives the X
server a chance to do stuff as well after each message.

[1] http://cygwin.com/ml/cygwin-xfree/2010-01/msg00056.html

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
11 years agohw/xwin: Fix some comments in winkeybd.c
Jon TURNEY [Mon, 17 Dec 2012 22:38:25 +0000 (22:38 +0000)]
hw/xwin: Fix some comments in winkeybd.c

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
11 years agohw/xwin: Bring the X screen window to the front on a single left-click on the tray...
Jon TURNEY [Thu, 1 Apr 2010 14:08:26 +0000 (15:08 +0100)]
hw/xwin: Bring the X screen window to the front on a single left-click on the tray icon

Bring the X screen window to the front on a single left click on the tray icon,
like the comment says we do

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
11 years agohw/xfree86: Require only one working CRTC to start the server.
Keith Packard [Wed, 9 Jan 2013 04:24:32 +0000 (20:24 -0800)]
hw/xfree86: Require only one working CRTC to start the server.

Instead of requiring every mode set to complete successfully, start up
as long as at least one CRTC is working. This avoids failures when one
or more CRTCs can't start due to mode setting conflicts.

Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
11 years agodix: remove already-moved hunk
Peter Hutterer [Fri, 4 Jan 2013 02:26:58 +0000 (12:26 +1000)]
dix: remove already-moved hunk

Should've been removed in bc1f90a615018c05994fae3e678dd2341256cd82a, but got
left here due to a botched rebase.

Fixes stray button events sent to clients after deactivating an async
pointer grab on a pointer-emulating-touch.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
11 years agodix: check for the right device's xi2 mask
Peter Hutterer [Thu, 20 Dec 2012 06:25:43 +0000 (16:25 +1000)]
dix: check for the right device's xi2 mask

events.c: In function 'DeactivatePointerGrab':
events.c:1524:51: warning: 'dev' may be used uninitialized in this function
[-Wuninitialized

dev is unset when we get here, the device to check is "mouse".
Introduced in ece8157a59751b3ed492fb2e1eb8d5f20221e195.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
11 years agodix: add resource type to touch listeners
Peter Hutterer [Tue, 30 Oct 2012 02:44:08 +0000 (12:44 +1000)]
dix: add resource type to touch listeners

Instead of guessing what resource type the listener is and what property to
retrieve, store the resource type in the listener directly.

Breaks XIT test cases:
TouchGrabTestMultipleTaps.PassiveGrabPointerEmulationMultipleTouchesFastSuccession

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

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Chase Douglas <chase.douglas@ubuntu.com>
11 years agoinput: Record grab pointer in TouchListener
Keith Packard [Tue, 27 Nov 2012 19:21:17 +0000 (11:21 -0800)]
input: Record grab pointer in TouchListener

This places a pointer to the grab related to a TouchListener directly
in the TouchListener structure rather than hoping to find the grab
later on using the resource ID.

Passive grabs have resource ID in the resource DB so they can be
removed when a client exits, and those resource IDs get copied when
activated, but implicit grabs are constructed on-the-fly and have no
resource DB entry.

Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11 years agoinput: Pull TouchListener declaration to top-level
Keith Packard [Tue, 27 Nov 2012 19:21:16 +0000 (11:21 -0800)]
input: Pull TouchListener declaration to top-level

No reason to have a struct declared inside another struct

Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11 years agoxkb: Do not use base group as an array index.
Andreas Wettstein [Wed, 19 Dec 2012 17:13:21 +0000 (18:13 +0100)]
xkb: Do not use base group as an array index.

The base group is not brought into range and, therefore, using it as an array
index crashed the X server.  Also, at this place, we should ignore locked
groups, but not latched groups.  Therefore, use sum of base and latched groups,
brought into range.

Reproducible with:
key <FK07> {
    type= "ONE_LEVEL",
    symbols[Group1]= [              NoSymbol ],
    actions[Group1]= [ LatchGroup(group=-1, clearLocks) ]
};

And hitting F7 will exceed the group level and access arbitrary memory.

Signed-off-by: Andreas Wettstein <wettstein509@solnet.ch>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11 years agorender: Unwrap early on the animated cursor BlockHandler
Carlos Garnacho [Wed, 19 Dec 2012 17:42:39 +0000 (18:42 +0100)]
render: Unwrap early on the animated cursor BlockHandler

The loop above the previous call may end up triggering other
handlers attaching to the same function slot, so unwrapping
the handler after that could leave the just attached handler
in a dangling but not unset state.

This issue was most visible on the XO, where destroying a
window with an animated cursor set and running  would trigger
this inconsistent state, never calling the miSpriteBlockHandler
again after the animated cursor is unset.

Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11 years agomi: Ensure pointer emulating touch events update the sprite
Carlos Garnacho [Wed, 19 Dec 2012 17:42:38 +0000 (18:42 +0100)]
mi: Ensure pointer emulating touch events update the sprite

Different miPointerSpriteFuncRec implementations do a varying
business at ultimately calling miPointerUpdateSprite(), this
particularly fails when using the plain mi sprite on touch events,
where the sprite is just moved/updated on cursor changes.

So, ensure miPointerUpdateSprite() is called generically for
pointer emulating touch events as with regular motion events.

Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11 years agodix: Make small bitfields that store enums unsigned
Aaron Plattner [Fri, 21 Dec 2012 15:37:33 +0000 (07:37 -0800)]
dix: Make small bitfields that store enums unsigned

Commit 31bf81772e146af79b0c456aae2159eba8b0280f changed the clientState field
from a signed int to a signed int 2-bit bitfield.  The ClientState enum that is
expected to be assigned to this field has four values: ClientStateInitial (0),
ClientStateRunning (1), ClientStateRetained (2), and ClientStateGone (3).
However, because this bitfield is signed, ClientStateRetained becomes -2 when
assigned, and ClientStateGone becomes -1.  This causes warnings:

 test.c:54:10: error: case label value exceeds maximum value for type [-Werror]
 test.c:55:10: error: case label value exceeds maximum value for type [-Werror]

The code here is a switch statement:

 53     switch (client->clientState) {
 54     case ClientStateGone:
 55     case ClientStateRetained:
 56         [...]
 57         break;
 58
 59     default:
 60         [...]
 61         break;
 62     }

It also causes bizarre problems like this:

 client->clientState = ClientStateGone;
 assert(client->clientState == ClientStateGone); // this assert fails

Also change the signedness of nearby bitfields to match.

Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Colin Harrison <colin.harrison at virgin.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agotest/xi2: fix compiler warning
Peter Hutterer [Thu, 20 Dec 2012 02:44:16 +0000 (12:44 +1000)]
test/xi2: fix compiler warning

protocol-xiwarppointer.c: In function ‘ScreenSetCursorPosition’:
protocol-xiwarppointer.c:71:53: warning: declaration of ‘screen’ shadows a
global declaration [-Wshadow]

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11 years agoUpdate to version 1.13.99.901 (1.14 RC1) xorg-server-1.13.99.901
Keith Packard [Wed, 19 Dec 2012 20:47:35 +0000 (12:47 -0800)]
Update to version 1.13.99.901 (1.14 RC1)

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoMerge remote-tracking branch 'jeremyhu/master'
Keith Packard [Wed, 19 Dec 2012 20:26:00 +0000 (12:26 -0800)]
Merge remote-tracking branch 'jeremyhu/master'

11 years agoMerge remote-tracking branch 'yselkowitz/master'
Keith Packard [Wed, 19 Dec 2012 20:21:31 +0000 (12:21 -0800)]
Merge remote-tracking branch 'yselkowitz/master'

I checked this patch with diff -w to check that it only affected
whitespace.

11 years agoMerge remote-tracking branch 'alanc/master'
Keith Packard [Wed, 19 Dec 2012 20:17:59 +0000 (12:17 -0800)]
Merge remote-tracking branch 'alanc/master'

11 years agoMerge remote-tracking branch 'whot/barriers'
Keith Packard [Wed, 19 Dec 2012 20:09:31 +0000 (12:09 -0800)]
Merge remote-tracking branch 'whot/barriers'

Conflicts:
Xi/xichangehierarchy.c

Small conflict with the patch from

Xi: don't use devices after removing them

Was easily resolved by hand.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoEnableDisableExtensionError: Use ARRAY_SIZE rather than sentinel
Alan Coopersmith [Tue, 18 Dec 2012 08:41:08 +0000 (00:41 -0800)]
EnableDisableExtensionError: Use ARRAY_SIZE rather than sentinel

d785368e0e converted the other miinitext functions to use ARRAY_SIZE,
and removed the sentinel, but missed EnableDisableExtensionError so
passing an invalid extension name could cause the server to walk off
the end off the list looking for a sentinel that wasn't there.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
11 years agoXQuartz: Don't add the 15bit visual any more
Jeremy Huddleston Sequoia [Tue, 18 Dec 2012 09:29:12 +0000 (01:29 -0800)]
XQuartz: Don't add the 15bit visual any more

Mountain Lion only supports 32bit backing stores, so don't use 15bit visuals until libXplugin adapts

Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
11 years agoXQuartz: Revert some unfortunate auto-indenting mishaps with our super-nested for...
Jeremy Huddleston Sequoia [Tue, 18 Dec 2012 09:28:02 +0000 (01:28 -0800)]
XQuartz: Revert some unfortunate auto-indenting mishaps with our super-nested for-loops

Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
11 years agohw/dmx: fix build without GLX
Rob Clark [Wed, 5 Dec 2012 23:21:27 +0000 (23:21 +0000)]
hw/dmx: fix build without GLX

Fixes this compile break that showed up on arm recently:

dmxinit.c:746:26: error: 'glxSupported' undeclared (first use in this function)
dmxinit.c:746:26: note: each undeclared identifier is reported only once for each function it appears in

Signed-off-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
11 years agoSupport compilers with alternate spellings of typeof
Alan Coopersmith [Fri, 7 Dec 2012 00:15:50 +0000 (16:15 -0800)]
Support compilers with alternate spellings of typeof

The AC_C_TYPEOF adds a #undef typeof to its autogenerated config.h.in
template, but b8ab93dfbc7f292 didn't copy that to dix-config.h.in
when HAVE_TYPEOF was, so the macro could claim typeof support but not
make it work, when used with compilers like Solaris Studio 12.1 which
only recognize it as __typeof__.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
11 years agodix: don't copy the wrong event mask when activating a passive grab
Peter Hutterer [Tue, 11 Dec 2012 03:36:02 +0000 (13:36 +1000)]
dix: don't copy the wrong event mask when activating a passive grab

GrabMask is a union of core, XI1 and XI2 masks. If a XI2 grab is activated,
the value is a random pointer value, using it as mask has unpredictable
effects.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
11 years agodix: don't allow overriding a grab with a different type of grab (#58255)
Peter Hutterer [Fri, 14 Dec 2012 01:34:15 +0000 (11:34 +1000)]
dix: don't allow overriding a grab with a different type of grab (#58255)

If a client has a core grab, don't allow re-grabbing with type XI2, etc.
This was the intent of the original commit
xorg-server-1.5.99.1-782-g09f9a86, but ineffective.

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

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
11 years agoXi: if a MD is removed, send a barrier leave event (if applicable)
Peter Hutterer [Thu, 13 Dec 2012 04:42:32 +0000 (14:42 +1000)]
Xi: if a MD is removed, send a barrier leave event (if applicable)

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
11 years agoXi: don't store the window pointer in barriers, store the window ID
Peter Hutterer [Thu, 13 Dec 2012 04:04:13 +0000 (14:04 +1000)]
Xi: don't store the window pointer in barriers, store the window ID

When a client shuts down and resources are being freed, the window may have
been freed already, so accessing it to get the window ID is bad. Plus, we
never care about the window anyway other than for stuffing it into the
event.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
11 years agoXi: fix per-device barrier handling
Peter Hutterer [Wed, 12 Dec 2012 05:41:32 +0000 (15:41 +1000)]
Xi: fix per-device barrier handling

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
11 years agoXi: don't use devices after removing them
Peter Hutterer [Thu, 13 Dec 2012 01:49:54 +0000 (11:49 +1000)]
Xi: don't use devices after removing them

RemoveDevice() frees the DeviceIntPtr, we shouldn't use the pointer after
that

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
11 years agoxfree86: print message to the log when zapping the server
Peter Hutterer [Wed, 12 Dec 2012 01:02:19 +0000 (11:02 +1000)]
xfree86: print message to the log when zapping the server

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoMerge remote-tracking branch 'whot/for-keith'
Keith Packard [Mon, 17 Dec 2012 19:45:45 +0000 (11:45 -0800)]
Merge remote-tracking branch 'whot/for-keith'

I've looked at these patches, but I can't say I've actually
reviewed them...

11 years agoMerge remote-tracking branch 'airlied/for-keithp'
Keith Packard [Mon, 17 Dec 2012 18:56:12 +0000 (10:56 -0800)]
Merge remote-tracking branch 'airlied/for-keithp'

11 years agoglx/dri2: initialise api to avoid indirect rendering failing randomly
Dave Airlie [Mon, 17 Dec 2012 05:40:17 +0000 (15:40 +1000)]
glx/dri2: initialise api to avoid indirect rendering failing randomly

Running glxinfo under indirect rendering would randomly fail against the
intel driver, as it would create a context with no attribs, and then the
api value would be passed to the driver uninitialised.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoXi: fix swapping for barrier events
Peter Hutterer [Mon, 10 Dec 2012 01:00:46 +0000 (11:00 +1000)]
Xi: fix swapping for barrier events

Protocol events don't contain pointers, so it's easier to copy everything
over, then swap in-place.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
11 years agoXi: swap sequence number and evtype in barrier events
Peter Hutterer [Mon, 10 Dec 2012 00:53:49 +0000 (10:53 +1000)]
Xi: swap sequence number and evtype in barrier events

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
11 years agotests/xi2: at protocol conversion test for barrier events
Peter Hutterer [Mon, 10 Dec 2012 01:02:32 +0000 (11:02 +1000)]
tests/xi2: at protocol conversion test for barrier events

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
11 years agoRequire inputproto 2.2.99.1
Peter Hutterer [Fri, 7 Dec 2012 05:55:59 +0000 (15:55 +1000)]
Require inputproto 2.2.99.1

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
11 years agomi: rename mipointer's internal event list
Peter Hutterer [Thu, 6 Dec 2012 23:26:13 +0000 (09:26 +1000)]
mi: rename mipointer's internal event list

Avoid name shadowing warnings, change the event list to a more specific
name.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
11 years agoXi: if the device is currently grabbed, flag the barrier event
Peter Hutterer [Thu, 6 Dec 2012 23:11:13 +0000 (09:11 +1000)]
Xi: if the device is currently grabbed, flag the barrier event

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>