Commit Graph

5535 Commits

Author SHA1 Message Date
Peter Hutterer bce6091c6b dix: Extend IsKeyboardDevice() to not include pointer devices.
If a pointer devices has key classes as well, don't register it as a keyboard
device. Let's see how much that change will break.
2008-04-10 09:59:45 +09:30
Peter Hutterer cc7dab2d04 dix: Dont deliver grabbed pointer events to a focus window.
If an pointer event is being processed during a device grab, don't deliver it
to the focus window, even if the device has a focus class. Reason being that
some pointers may have a focus class, thus killing drag-and-drop.
2008-04-10 09:58:50 +09:30
Peter Hutterer df2545b98d xfree86: Sanity check before retrieving the paired device.
Some pointer devices send key events [1], blindly getting the paired device
crashes the server. So let's check if the device is a pointer before we try to
get the paired device.

[1] The MS Wireless Optical Desktop 2000's multimedia keys are sent through
the pointer device, not through the keyboard device.
2008-04-10 08:50:43 +09:30
Peter Hutterer 5a4c6621aa Xi: some extra checks for validity of kbd and mouse.
Floating SDs are paired with themselves, so the paired device may not be a
proper keyboard or mouse. Put some extra checks in to avoid dereferencing a
nullpointer later.
2008-04-10 08:29:05 +09:30
Peter Hutterer 8e0a652930 dix: When floating, set sprite to NULL before calling InitializeSprite.
InitializeSprite won't create a new one if it already exists, with the result
of overwriting the master's sprite. This master sprite is then assigned to the
floating slave, and freed when the slave is reattached later.
Setting the sprite to NULL forces InitializeSprite to alloc a new one, and
this one can be freed without further repercussions.
2008-04-10 08:25:36 +09:30
Peter Hutterer e7211eb0b3 Xi: When attaching, check for ptr -> ptr and keybd -> keybd.
Some pointer devices have key classes (e.g. MS Optical Desktop 2000). The
previous test was performed as Error if ptr -> keybd or keybd -> ptr. This
doesnt work with such devices. New test is Succeed if ptr->ptr or
keybd->keybd.
2008-04-10 08:08:54 +09:30
Eric Anholt 7909ebe7f1 dolt: add FreeBSD support (this and ppc have been submitted upstream). 2008-04-09 10:43:25 -07:00
Michel Dänzer b4842d8dc3 dolt works on powerpc Linux. 2008-04-09 16:17:35 +02:00
Michel Dänzer 0d1746995d Fix off-by-one error in ProcXResQueryClients().
Fixes memory corruption reported at
http://bugs.freedesktop.org/show_bug.cgi?id=14004 .
2008-04-09 13:49:05 +02:00
Daniel Stone 6d031cbdef configure.ac: Do the dolt
Use dolt instead of libtool whereever practical.  See:
http://lists.debian.org/debian-devel/2008/04/msg00286.html
2008-04-09 14:37:02 +03:00
Dave Airlie b19027fbae quirk: add quirk for ACR 640x350 default mode is wrong
RH #440186
2008-04-09 14:34:11 +10:00
Ben Byer 1f8188656a add missing dix-config include
(cherry picked from commit 126e9bc8c480b403dedc44c1e8c4fe1476340ed9)
2008-04-08 21:25:15 -07:00
Peter Hutterer cbe01b3083 Merge whot@wombat:~/potoroo/xserver into mpx 2008-04-09 10:46:46 +09:30
Jeremy Huddleston 3f51f493b6 XQuartz: Fix issue where clicking on an X11 window might send that event to an X11 window in another space.
(cherry picked from commit df21312c8b0e9ef0c809bfc57cdf64f27db0d8a7)
(cherry picked from commit 2d4194a8d124e7a9c7cd1b83635ba6957aa4ae1c)
2008-04-08 17:03:18 -07:00
Peter Hutterer 389dae73cc Xi: If device "to" has a class but "from" doesn't, free the class in "to". 2008-04-09 08:26:00 +09:30
Peter Hutterer 60c38d248c Xi: plug memory leak, free previous motion history before allocating new. 2008-04-09 07:47:34 +09:30
Peter Hutterer ea05cf0813 Xi: check if source has a key class before copying. 2008-04-08 22:09:11 +09:30
Hasso Tepper 08073862f8 configure.ac: Fix monotonic test harder
This was only introduced in a later version of POSIX, so define that
version to get it from more conformant systems.
2008-04-08 13:01:23 +03:00
Magnus Vigerlöf 5ffbcfec3d dix: Ensure Proximity events don't kill the server.
Add Prox events to the if-clauses with the other events
that are usually sent from the input devices.
Ensure that the event deliverers won't try to deliver
events of type '0' (some extended events doesn't have
an equivalent core-type)

Small modification by Peter Hutterer.

Signed-off-by: Peter Hutterer <peter@cs.unisa.edu.au>
2008-04-08 14:43:22 +09:30
Peter Hutterer 32e4a88ae6 xkb: don't overwrite CtrlProc in the second run of XkbFinishDeviceInit.
XkbFinishDeviceInit is called once when the device is initialised, but also
when a class copy causes the key class of a device to change. In this case,
overwriting the CtrlProc of the KeybdFeedbackClass with XkbDDXKeybdCtrlProc
sets up a nice recursive loop of XkbDDXKeybdCtrlProc calling itself until the
cows come home.
2008-04-08 14:43:13 +09:30
Peter Hutterer 6271df6953 xkb: don't overwrite CtrlProc in the second run of XkbFinishDeviceInit.
XkbFinishDeviceInit is called once when the device is initialised, but also
when a class copy causes the key class of a device to change. In this case, overwriting the CtrlProc of the KeybdFeedbackClass with XkbDDXKeybdCtrlProc sets up a nice recursive loop of XkbDDXKeybdCtrlProc calling itself until the cows come home.
2008-04-08 08:42:58 +09:30
Adam Tkac 726dcd9e4e Fix Xvfb input when building against current X sources. 2008-04-07 10:20:02 -04:00
Hasso Tepper 0f87b41a43 configure.ac: DragonFly BSD support
Add support for DragonFly BSD, which is just the same as FreeBSD for all
of these cases.
2008-04-07 14:09:04 +03:00
Owen W. Taylor 6b1a27023e EXA: Fix TS origin computation when implementing RenderComposite with tiling. 2008-04-07 11:01:09 +02:00
Peter Hutterer fd06e8f8c1 Merge branch 'master' into dcdc_rework
Conflicts:

	Xext/xevie.c
	dix/dispatch.c
2008-04-07 07:56:41 +09:30
Sascha Hlusiak 539bf3c283 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver 2008-04-07 00:10:16 +02:00
Sascha Hlusiak 3ab33e7cd4 Remove stale code
The jstk code for Joysticks is not used by any module, was never actually compiled and uses an API
that is deprecated these days.

No reason to keep it.
2008-04-06 23:23:47 +02:00
Peter Hutterer b46a009186 dix: sprite may be NULL, don't dereference it then.
In some rare cases (e.g. when the init fails) a device's sprite is NULL,
dereferencing it to xfree the spriteTrace is a bad idea then.
2008-04-06 09:02:57 +09:30
Peter Hutterer 638a50552e dix: remove debug error message about XI->core type conversion. 2008-04-06 08:36:21 +09:30
Peter Hutterer 8f38feb3e4 Xi: add comments for DeepCopyDeviceClasses, ChangeMasterDeviceClasses. 2008-04-05 20:37:21 +10:30
Julien Cristau 6c0cfe3d43 Fix the clock_gettime check for glibc-based non-Linux systems
We need to define _POSIX_C_SOURCE on glibc, not just Linux, so add a new
test for the __GLIBC__ macro.
2008-04-04 19:12:57 +02:00
Adam Jackson cc7c045bae Fix PCI config space cycles from int10 emulator.
The top bit of 0xCF8 is an enable bit, not part of the domain.  Sending
cycles to domain 128 instead of domain 0 is rarely the right thing to do.
2008-04-04 12:58:12 -04:00
Eric Anholt d1de3dda8e Fix clock_gettime presence detect on FreeBSD.
For non-Linux, _POSIX_C_SOURCE and friends restrict symbols defined rather
than enabling defines of symbols.  Additionally, CLOCK_MONOTONIC was
apparently added to the standard around 2000 anyway, not 1993.
2008-04-04 08:01:25 -07:00
Kristian Høgsberg ec17900f52 Convert __DRIconfigs after we've made sure createNewScreen succeeded. 2008-04-04 10:47:46 -04:00
Kristian Høgsberg 16a8ce7558 Only autoload RECORD if it was enabled. 2008-04-04 10:47:46 -04:00
Peter Hutterer d0395a7530 Xi: realloc to->valuator instead of allocing it blindly. 2008-04-04 15:05:26 +10:30
Peter Hutterer 502689847b Xi: ALLOC_COPY_CLASS_IF should only alloc if to->field doesn't exist. 2008-04-04 15:01:53 +10:30
Peter Hutterer 035b1b6995 Xi: remove duplicate copying of kbdfeed and ptrfeed. 2008-04-04 15:00:06 +10:30
Peter Hutterer 52fc7aed18 Xi: only alloc memory for feedback classes if it doesn't already exist. 2008-04-04 14:47:23 +10:30
Peter Hutterer 4eb87c8693 Xi: don't free device classes before copying them.
First commit in a series to come.
2008-04-04 14:20:37 +10:30
Dave Airlie f0915fb3c4 quirk: add quirk for ACER EDID 2008-04-04 09:59:40 +10:00
Jeremy Huddleston 2e42b67b82 XQuartz: Change reporting of space change to debug log rather than stderr
(cherry picked from commit ed15556a9fc4ebdb88f42961052fc8456082165f)
2008-04-02 18:05:55 -07:00
Ben Byer c737d04c75 The AppKit thread should not be calling directly into the X server
functions to change state when the keyboard is reloaded; instead,
pass it as an event.
(cherry picked from commit 7e653f806ff5508aace059312156f319a9ed4479)
2008-04-02 17:48:24 -07:00
Ben Byer 15b0084f1a formatting cleanup for X11Application.m (no code changes)
(cherry picked from commit eb083d3f68f459d90417558da1ed00729b749950)
2008-04-02 17:48:15 -07:00
Ben Byer e9e2d88436 moved and renamed QuartzMessageServerThread to
DarwinSendDDXEvent to make more clear what it actually does.
(cherry picked from commit bee2b377efc930e25017636e5112093a3a6549c7)
2008-04-02 17:48:01 -07:00
Ben Byer c1be4e3379 shovelling code around ...
(cherry picked from commit 2143182ba49195bbb2e9163ea6872fd68e7a4a85)
2008-04-02 17:47:59 -07:00
Ben Byer 985c631b2e just a bit of juggling headers around -- we're preparing
to call our Xquartz-specific event handlers directly
as mieqHandlers
(cherry picked from commit 4aedba5aa727e22316e8ca456f7218bea9ee0313)
2008-04-02 17:47:57 -07:00
Ben Byer 89f1d880e8 nuke DarwinEventQueue
(cherry picked from commit 1e0ec02202eeaffae480048b91bf02140ee29f8a)
2008-04-02 17:47:52 -07:00
Jeremy Huddleston 8944b77ec0 continue with gutting darwinEvents.c
(cherry picked from commit c34fce7051b996633291dddc061b696ff737f3fb)
2008-04-02 17:47:42 -07:00
Jeremy Huddleston aa6d12e93e turns out we weren't actually using these files. oops
(cherry picked from commit bfec44d7b4baf0ad0aae55c8209bc60ac93c5b58)
2008-04-02 17:46:59 -07:00