Commit Graph

6895 Commits

Author SHA1 Message Date
Keith Packard
fdfc70ea0a Merge commit 'whot/server-1.6-branch' into server-1.6-branch 2009-01-12 10:40:04 -08:00
Peter Hutterer
82f42730fa mi: force CopyKeyClass for key events. (#19048)
While we don't want to copy all other device classes into the VCK, we need to
copy the key class to transfer the layout from the SDs into the VCK.
This resembles the functionality of SwitchCoreKeyboard in server 1.5.

Thanks to Colin Guthrie for providing the follow-up patch (#19222)

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

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-01-12 18:27:09 +10:00
Peter Hutterer
8cfb353078 dix: Fix handling of do_not_propagate_mask window attribute.
This was broken in 32aa252e98.

Signed-off-by: Kim Woelders <kim@woelders.dk>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 30d2cfcd38)

Conflicts:

	dix/events.c

Signed-off-by: Keith Packard <keithp@keithp.com>
2009-01-11 17:41:04 -08:00
Peter Hutterer
10c0287232 dix: Fix handling of do_not_propagate_mask window attribute.
This was broken in 32aa252e98.

Signed-off-by: Kim Woelders <kim@woelders.dk>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 30d2cfcd38)

Conflicts:

	dix/events.c
2009-01-12 11:34:26 +10:00
Peter Hutterer
93e510d3ab xfree86: Only use the evdev ruleset on linux.
As suggested by Julien Cristau

This is an follow-up to
commit 9c5dd7337f
Author: Peter Hutterer <peter.hutterer@redhat.com>
Date:   Wed Dec 3 14:24:25 2008 +1000

    Let the DDX decide on the XkbRulesDefaults.

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
Acked-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
(cherry picked from commit 13de7511b1)

Signed-off-by: Keith Packard <keithp@keithp.com>
2009-01-11 16:08:56 -08:00
Peter Hutterer
cc78f04b22 Let the DDX decide on the XkbRulesDefaults.
Rather than assuming rules in the CoreKeyboardProc, init the default rules in
InitCoreDevices, then re-use them later.

In the xfree86 DDX, set the rules to "base" or "evdev", depending on whether
we'll load kbd or evdev.

If we create a new MD, use pc105,us as default and re-use the rules file used
previously.

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2009-01-11 16:08:35 -08:00
Keith Packard
02c059ea99 dix: move focus handling into enterleave.c.
This commit moves the focus handling from events.c into enterleave.c and
implements a model similar to the core enter/leave model.
For a full description of the model, see:
http://lists.freedesktop.org/archives/xorg/2008-December/041740.html

This commit also gets rid of the focusinout array in the WindowRec, ditching
it in favour of a local array that keeps the current focus window for each
device.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit eb2d7b3d70)

Conflicts:

	dix/events.c
	include/input.h

Signed-off-by: Keith Packard <keithp@keithp.com>
2009-01-11 15:56:28 -08:00
Peter Hutterer
c75445754e dix: add a few auxiliary functions for the updated focus model.
SetFocusIn and SetFocusOut, including the static array to keep all focus
windows.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 673eb23aac)
2009-01-09 11:21:39 -08:00
Peter Hutterer
ceeb62f892 dix: reduce FirstPointerChild complexity
Instead of keeping a flag on each window for the devices that are in this
window, keep a local array that holds the current pointer window for each
device. Benefit: searching for the first descendant of a pointer is a simple
run through the array.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 38b28dcadd)
2009-01-09 11:21:27 -08:00
Peter Hutterer
ed90245461 dix: remove now unused "exclude" parameter from FirstPointerChild
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 72ad4a85cc)
2009-01-09 11:21:18 -08:00
Keith Packard
f0025f59e8 dix: re-implement enter/leave model.
The old model was implemented based on a misunderstanding of NotifyVirtual and
NotifyNonlinearVirtual events. It became complicated and was broken in some
places [1]. This patch wipes this model completely.

A much simplified implementation is provided instead. Rather than a top-down
approach ("we have a tree of windows, which ones need to get which event")
this one uses a step-by-step approach. For each window W between A and B
determine the pointer window P as perceived by this window and determine the
event type based on this information. This is in-line with the model described
by Owen Taylor [2].

[1] http://lists.freedesktop.org/archives/xorg/2008-December/041559.html
[2] http://lists.freedesktop.org/archives/xorg/2008-August/037606.html
(cherry picked from commit 0aa4460c3b)

Conflicts:

	dix/enterleave.c
2009-01-09 11:20:31 -08:00
Peter Hutterer
1ffd9ec760 xfree86: don't restore the TTY mode if we didn't initialize it ourselves
Restoring it unconditionally means we restore to whatever tty_mode has as
default value (i.e. 0). K_RAW happens to be 0x00, so we always restore to raw
mode if allowEmptyInput is off.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Julien Cristau <jcristau@debian.org>
(cherry picked from commit aea6f19f25)
2009-01-09 11:04:09 -08:00
Peter Hutterer
3c11efd7dc xfree86: If an input device failed to activate, return immediately.
Devices are only activated once - right after they've been added to the
server. If a device failes activation, it's dead. There's no reason to
continue. Return the error code from ActivateDevice() without setting up
sprite information or even sending a event to the client.

Then - in the DDX - just remove the device again.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 27011254c4)
2009-01-09 11:04:03 -08:00
Peter Hutterer
2ce48363b8 xfree86: don't call CheckMotion if a device hasn't been enabled. #19176
X.Org Bug <http://bugs.freedesktop.org/show_bug.cgi?id=19176>
(cherry picked from commit e1a3a1a0d8)
2009-01-09 11:03:58 -08:00
Maarten Maathuis
3225e1378e exa: preparing as source and finishing access as mask is a bad idea
(cherry picked from commit 027b440d4f)
2009-01-09 11:03:52 -08:00
Maarten Maathuis
2056c10d12 exa: Allow drivers to set non-NULL devPrivate.ptr for !offscreen pixmaps.
(cherry picked from commit 3534a5e5d9)
2009-01-09 11:03:47 -08:00
Jeremy Huddleston
4130761f15 XQuartz: Fat binary buildfixes
Let Xarch.h set X_BYTE_ORDER for us.
Determine _XSERVER64 at build time.
(cherry picked from commit f54736c2b0)
(cherry picked from commit cc677cb4f4)
2009-01-09 11:03:37 -08:00
Jeremy Huddleston
2eb09af561 XQuartz: Use AvailabilityMacros.h instead of availability.h for Tiger
(cherry picked from commit 91f3c34357)
(cherry picked from commit 65ab2f44ea)
2009-01-09 11:03:32 -08:00
Jeremy Huddleston
fecc82ee11 XQuartz: Copyright Update... happy new year
(cherry picked from commit 9f1c26ae8d)
(cherry picked from commit df6ca888b0)
2009-01-09 11:03:27 -08:00
Jeremy Huddleston
d80e35a9ae XQuartz: pbproxy: Push dpy init and CFRunLoop hook setup into the pbproxy thread to avoid possible deadlock
(cherry picked from commit 49e59d32b8)
(cherry picked from commit adbfd49da2)
2009-01-09 11:03:21 -08:00
Jeremy Huddleston
c32a680f26 XQuartz: Don't use NX_SECONDARYFNMASK, NX_NUMERICPADMASK, NX_HELPMASK
We don't have keycodes for them, so don't try to use them
(cherry picked from commit cb912aca3a)
(cherry picked from commit 0676a580fc)
2009-01-09 11:03:05 -08:00
Jeremy Huddleston
e08ce79152 XQuartz: Make sure to reset the saved key state when deactivating X11.app
(cherry picked from commit 3eef78eb32)
(cherry picked from commit 0d2621b6d4)
2009-01-09 11:02:59 -08:00
Jeremy Huddleston
bdf776b457 XQuartz: Honor system key repeat rate
(cherry picked from commit 4303c9be39)
(cherry picked from commit 9faf3de7e5)
2009-01-09 11:02:52 -08:00
Jeremy Huddleston
16560db0c0 XQuartz: Better avoid stuck keys on context switches
(cherry picked from commit e9963f1a4f)
(cherry picked from commit 4be8d7346b)
2009-01-09 11:02:48 -08:00
Jeremy Huddleston
66f801f5a0 XQuartz: Workaround OSX VNC server bug for modifier key state
A better approach which ensures we have a L modifier key down if we are told neither are down and atleast one is down... =/
(cherry picked from commit bc13dda345)
(cherry picked from commit c67a3e2972)
2009-01-09 11:02:42 -08:00
Jeremy Huddleston
a05dbce402 XQuartz: Updated man page fullscreen_hotkeys fullscreen_menu
(cherry picked from commit 00f3a2e33c)
(cherry picked from commit d790c9dd04)
2009-01-09 11:02:34 -08:00
Jeremy Huddleston
b8877bb9e4 XQuartz: pbproxy: We explicitly need libX11 for pbproxy
(cherry picked from commit 32824120da)
(cherry picked from commit 8c6e8fa811)
2009-01-09 11:02:29 -08:00
Jeremy Huddleston
de78ac4378 XQuartz: Try harder to get the user's login environment
(cherry picked from commit 6bedaddd78)
(cherry picked from commit 338f096861)
2009-01-09 11:02:24 -08:00
Jeremy Huddleston
c391114df9 XQuartz: Reposition windows when we enter fullscreen to ensure our root window
(cherry picked from commit 7617d3659b)
(cherry picked from commit 61ae56f973)
2009-01-09 11:02:19 -08:00
Jeremy Huddleston
beafebef82 XQuartz: Re-enable rlAccel
It was incorrectly blamed for some crashes a few months ago, and it should be
safe to use until we get an EXA driver to replace it.
(cherry picked from commit 8121f30bd2)
(cherry picked from commit 85347902d9)
2009-01-09 11:02:14 -08:00
Jeremy Huddleston
86ba5eff62 XQuartz: Don't use keycode 0 to determine !swallow since our most common key to swallow is actual keycode 0 (a)
(cherry picked from commit 33f43a7f03)
(cherry picked from commit 84f0c03418)
2009-01-09 11:00:27 -08:00
Jeremy Huddleston
2a42a059ce XQuartz: Update our "screens" when we toggle rootless rather than when we toggle fullscreen
This old behavior was used as a workaround for the menubar behavior in the older server,
but we handle it better now and need to update our screens when we toggle the rootless
state instead.
(cherry picked from commit 508aa95bc2)
(cherry picked from commit 7e7758e178)
2009-01-09 11:00:21 -08:00
Jeremy Huddleston
51319550c9 XQuartz: Run applications via '/bin/sh -c ...' to support users who expect shell parsing
(cherry picked from commit 67455e716e)
(cherry picked from commit 7dc0dafef1)
2009-01-09 11:00:16 -08:00
Jeremy Huddleston
b0503b69f9 XQuartz: pbproxy: Release display notification lock when not needed to avoid deadlock
(cherry picked from commit 22f664ab95)
(cherry picked from commit 4c256c0e9c)
2009-01-09 11:00:11 -08:00
Jeremy Huddleston
6c635faa6f XQuartz: update quoting in case X11.app is moved to a directory with a space.
(cherry picked from commit cc805dc799)
(cherry picked from commit ecc3a7b609)
2009-01-09 11:00:05 -08:00
Jeremy Huddleston
14d9ccf0ce XQuartz: Changed X11.sh to allow use of a ~/.x11run as requested by users of alternate shells
(cherry picked from commit b62ed1f8ea)
(cherry picked from commit c3812aec97)
2009-01-09 10:59:56 -08:00
Jeremy Huddleston
87df8e6819 XQuartz: Get rid of white rectangle bug
(cherry picked from commit 3269959033)
(cherry picked from commit fd6fb6a277)
2009-01-09 10:59:32 -08:00
Jeremy Huddleston
5ff6b1e7ed XQuartz: Name the startup shell script X11 for better compatability
(cherry picked from commit f84613d6fc)
(cherry picked from commit 102abeda37)
2009-01-09 10:59:25 -08:00
Maarten Maathuis
ffdf013905 randr/xfree86: Fix a one off error in the panning calculations.
- Example: mode 1280x1024, panned area 1281x1024
           panned_area.x2 = 1281
           mode.width = 1280
  If you substract 1280 from 1281, then that leaves you with one.
  Which is the one pixel that you need to move to actually see the last pixel collumn.
  Substracting 1 from this will consistently prevent you from seeing the right and bottom edge.
(cherry picked from commit aedd2f566d)
2009-01-09 10:59:05 -08:00
Jeremy Huddleston
2a822c2311 mi: Reuse memory in mieqProcessInputEvents rather than making excessive calls to calloc()
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
(cherry picked from commit a939368ab8)
2009-01-09 10:30:58 -08:00
Peter Hutterer
a067bd907e mi: Clean up CopyGetMasterEvent, re-use the memory.
Alloc an EventList once and then re-use instead of allocing a new event each
time we need a master event.
There's a trick included: because all the event processing handlers only take
an xEvent, init a size 1 EventList and squash the events into this one.

Events that have count > 1 must be squished into an xEvent array anyway before
passing into the event handlers, so we don't lose anything here.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Daniel Stone <daniel@fooishbar.org>
(cherry picked from commit d281866b74)
2009-01-09 10:30:27 -08:00
Peter Hutterer
3519f83f50 dix: move MAX_VALUATOR_EVENTS into include/input.h
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 0b4fef6337)
2009-01-09 10:30:26 -08:00
Francis Giraldeau
3ec3b502e3 Don't log audit messages when -audit 0 specified
make the auditTrailLevel check more general and don't log when not
using DTRACE and -audit 0 is set.
(cherry picked from commit d61e902aab)
2009-01-09 09:59:54 -08:00
Colin Guthrie
053f32d928 Fix compilation with -Werror=format-security
(cherry picked from commit 6d8ea5104c)
2009-01-09 09:59:01 -08:00
Adam Jackson
8ed4ca2801 XAA: Disable offscreen pixmaps by default.
Say Option "XaaOffscreenPixmaps" to turn them back on.

Apropos of bugs #13795 and #15098.  But this still isn't correct.
(cherry picked from commit 0c6987df3b)
2009-01-09 09:57:46 -08:00
Robert Noland
32e81074b9 Support -sharevts on FreeBSD
Bugzilla #11179

Submitted-by: Nathan Whitehorn

Signed-off-by: Robert Noland <rnoland@2hip.net>
(cherry picked from commit 7aa29b9d66)
2008-12-16 12:05:53 -08:00
Ian Romanick
4c68079c2a GLX: Changes resulting from changes to Mesa generator scripts / data
Several recent Mesa commits (listed below) make modifications to the
protocol generator data and scripts.  This commit represents the
changes to the generated files resulting from the previous changes.

    - 0f73302d24f4201813da2939742c5bcb6964b3b1
      GLX: Fix protocol for glTexSubImage#D

    - 1709ab01ef24279c782e420568e9257b4b92b224
      Return 0 as the request size when the pixels parameter is NULL

    - 63cca2ba10ce7dcc8481cfa4be3872dfc269dded
      GLX: Include glapi.h before glapitable.h

This is the server-side part of the fix for bugzilla #11003.
(cherry picked from commit f1c9b5ab23)
2008-12-16 12:03:06 -08:00
Cooper Yuan
75bad86992 Fix typo in xf86PickCrtcs()
(cherry picked from commit 2a61397d17)
2008-12-16 12:03:05 -08:00
Jeremy Huddleston
f427d3aaa7 XQuartz: Updated menu item ordering for better HIG compliance
(cherry picked from commit 4c9bb241ce)
(cherry picked from commit 73987010b2)
2008-12-16 12:03:05 -08:00
Jeremy Huddleston
d0eb4337e3 XQuartz: Tiger fix, don't call Xplugin code in the Appkit thread if Xplugin isn't threadsafe.
(cherry picked from commit 748d9e5bd7)
(cherry picked from commit fd31984e0c)
2008-12-16 12:03:05 -08:00