Commit Graph

7909 Commits

Author SHA1 Message Date
Peter Hutterer
83f32d3972 Xi: Add XI2 property requests. 2009-05-08 14:33:23 +10:00
Peter Hutterer
9935bec6e8 Xi: split some code out of the XI 1.5 property request processing.
This is in preparation for the XI2 property requests that can re-use much of
this code.
2009-05-08 14:33:23 +10:00
Peter Hutterer
f6f1e41706 Xi: fix copy/paste error causing sizeof against wrong struct.
This wrong check may cause BadLength to be returned to the client even if the
length is correct.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-08 14:33:23 +10:00
Peter Hutterer
fc0013d744 Xi: don't double-swap the XListDeviceProperties reply.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-08 14:33:23 +10:00
Peter Hutterer
409012061b Xi: add missing break in XI event swapping function
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-08 14:33:23 +10:00
Peter Hutterer
c3c64978c4 Xi: fix a couple of wrong dixLookupDevice permission tags.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-08 14:33:23 +10:00
Peter Hutterer
0d947aa8e8 xfree86: fix xf86PostMotionEventP type checking
We only put internal events into the queue now, so let's check for ET_Motion
rather than the MotionNotify.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-08 14:33:23 +10:00
Simon Thum
9457ce4489 dix: remove superfluous includes from ptrveloc.c
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-08 14:33:22 +10:00
Simon Thum
ee30e1b102 dix: fix warning in pointer acceleration
newer gcc's warn against how this cast is done (though it eludes me why),
and lrintf() is also faster especially on insane processors like the P4
(http://www.mega-nerd.com/FPcast).

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-08 14:33:22 +10:00
Peter Hutterer
5cf7018381 xkb: remove _XkbAlloc, _XkbCalloc, _XkbRealloc and _XkbFree
We all agree that wrapping is fun, but seriously. One of these days someone
will get hurt.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-08 14:28:53 +10:00
Peter Hutterer
0e31d3906d xkb: remove some now-useless XFUNCPROTOBEGIN
We bring them back if we start rewriting the server in C++, promise.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-08 14:28:44 +10:00
Peter Hutterer
8b583ca2b2 Xi: fix copy/paste error causing sizeof against wrong struct.
This wrong check may cause BadLength to be returned to the client even if the
length is correct.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-08 14:24:47 +10:00
Peter Hutterer
7ab5e9b97c xfree86: fix xf86PostMotionEventP type checking
We only put internal events into the queue now, so let's check for ET_Motion
rather than the MotionNotify.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-08 14:24:12 +10:00
Peter Hutterer
50cc8adafc Xi: don't double-swap the XListDeviceProperties reply.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-08 14:23:53 +10:00
Simon Thum
3fc6fcfb26 dix: add 'none' pointer acceleration profile with number -1
This is a shorthand for disabling acceleration, while retaining the
possiblity to use constant deceleration. If constant deceleration is
also unused, it will optimize motion processing.

Other possiblities to deactivate acceleration were quite hidden,
and didn't always work as expected. E.g. xset m 1 1 would retain
adaptive deceleration, while xset m 1 0 would not (in the default
profile).

Also removes the 'reserved' profile; it was unused and it's trivial
to add new ones anyway.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-07 16:49:06 +10:00
Simon Thum
9d1597cbef dix: remove superfluous includes from ptrveloc.c
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-07 16:49:04 +10:00
Simon Thum
35fce4e5c7 dix: fix warning in pointer acceleration
newer gcc's warn against how this cast is done (though it eludes me why),
and lrintf() is also faster especially on insane processors like the P4
(http://www.mega-nerd.com/FPcast).

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-07 16:49:02 +10:00
Peter Hutterer
d220d6907d Xi: add GrabButton and GrabKeysym code.
We don't do keycode grabs in XI2, they're pointless.
2009-05-06 14:37:33 +10:00
Peter Hutterer
1b593ced17 Xi: access the prev_state to get group/modifier state for key events.
Key events may change the modifier state, so we need to get the prev_state for
those (i.e. without the changes by the event already applied).

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-06 14:37:32 +10:00
Peter Hutterer
35a4b8e7f4 xkb: remove oldState from XkbHandleActions.
I really don't know what the purpose of this variable is or was, aside from
potentially clobbering up our key state since there's a path where it may be
used uninitialised.

Also, this means that xkbi->prev_state is now accessible from the DIX with
meaningful data.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-06 14:37:32 +10:00
Peter Hutterer
d523fbe428 test: add test for xi2 struct sizes. 2009-05-06 14:37:22 +10:00
Peter Hutterer
1b1b20d6e3 Change glib require for tests to auto.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-05 14:12:04 +10:00
Peter Hutterer
749cae8220 mi: don't crash if we're trying to update the pointer for a keyboard.
If a device doesn't have a pointer, just return.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-05 14:12:04 +10:00
Peter Hutterer
7ecedb0f2e include: up the number of max. input devices to 40.
With the Xtest virtual slave devices we have 4 devices for each MD
pointer/keyboard pair, plus the AllDevices and AllMasterDevices reserved
deviceids. It's quite easy to hit the current limit.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-05 14:12:04 +10:00
Peter Hutterer
a38d33f6ac Xext: shut up compiler warnings in xtest.c
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-05 14:12:04 +10:00
Peter Hutterer
14d5471981 Xext: return BadDevice from XTest if we don't have keys/buttons/valuators.
BadDevice is an XI error, but this cannot happen for core XTest fake input
anyway since the device will be the matching virtual XTest slave device.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-05 14:12:04 +10:00
Peter Hutterer
f1bed0959e Xext: fix core Xtest button presses, don't call PickPointer.
We already did the device selection before, so dev should be the XTest virtual
pointer.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-05 14:12:04 +10:00
Jesse Barnes
94648bb797 Don't prepare outputs & crtcs if set_mode_major is present
A driver with this hook will take care of preparing the outputs & crtcs,
so calling the prepare functions will just cause unnecessary flicker.

Fixes bug #21077
2009-05-04 15:38:22 -07:00
Michel Dänzer
7d85169c7a Fix typo in ProcRenderCreateAnimCursor. 2009-05-04 10:14:43 +02:00
Peter Hutterer
59358de4b6 input: ensure various ProcUngrabKey/Buttons have the right grabtype set. 2009-05-04 17:40:29 +10:00
Peter Hutterer
834ea071b6 dix: if grab types differ, two grabs cannot be the same. 2009-05-04 17:40:25 +10:00
Peter Hutterer
63a3c727b3 Xext: shut up compiler warnings in xtest.c
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-04 15:21:39 +10:00
Peter Hutterer
226dd90597 Xext: return BadDevice from XTest if we don't have keys/buttons/valuators.
BadDevice is an XI error, but this cannot happen for core XTest fake input
anyway since the device will be the matching virtual XTest slave device.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-04 15:21:39 +10:00
Peter Hutterer
0fdff0a47a Xext: fix core Xtest button presses, don't call PickPointer.
We already did the device selection before, so dev should be the XTest virtual
pointer.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-04 15:21:39 +10:00
Peter Hutterer
f0124ed93c include: up the number of max. input devices to 40.
With the Xtest virtual slave devices we have 4 devices for each MD
pointer/keyboard pair, plus the AllDevices and AllMasterDevices reserved
deviceids. It's quite easy to hit the current limit.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-04 15:21:39 +10:00
Peter Hutterer
08cd846000 dix: only free the old cursor if the grab was successful.
Testcase: start thunderbird and move a message around, crashes after two or
three moves.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-04 15:21:38 +10:00
Alan Coopersmith
557dbadf3b XkbSetNamedIndicator should ignore SD's without LED's
When ProcXkbSetNamedIndicator is called on a core device, and we
walk the slaves to set the LED's on each of them, ignore any slaves
that do not have either a KbdFeedbackCtrl or LedCtrl structure.

(This is much more critical in xserver-1.5-branch, where we walk
 *all* devices, not just the slaves of the specified master, and
 thus return failure when setting an LED on the Core Keyboard and
 hit a xf86-input-mouse device with no LED's to set.)

Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-03 20:11:21 -07:00
Ian Romanick
0d9d3f3e36 DRI2: Force allocation of real-front buffer for non-windows as well
For redirected rendering we end up with pixmaps (which the app thinks are
windows) that are double buffered.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Tested-by: Pierre Willenbrock <pierre@pirsoft.de>
2009-05-01 09:47:12 -07:00
Peter Hutterer
3d30789a05 mi: don't crash if we're trying to update the pointer for a keyboard.
If a device doesn't have a pointer, just return.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-01 09:07:39 +10:00
Peter Hutterer
876910a951 xkb: write the _XKB_RF_RULES_PROP to each device.
We only have one root window and writing the rules used to the same property
for each device is quite pointless if you don't have the same RMLVO on all
devices. So let's be sensible and write the same property to the device too,
so at least we know which device got loaded with which RMLVO.
2009-05-01 09:07:39 +10:00
Peter Hutterer
44044adc92 xfree86: print a message if NIDR fails due to AutoAddDevices off.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-01 09:07:39 +10:00
Peter Hutterer
43dbbc3032 Xi: fix typo in ProcXIGrabDevice
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-01 09:07:39 +10:00
Peter Hutterer
6a618929a0 input: reshuffle CreateGrab and friends to take a GrabParameters param.
This is cleaning up work in preparation for XI2 passive grabs.
2009-05-01 09:07:37 +10:00
Peter Hutterer
e8e26f700c Xi: split some grab parameter checking out of GrabButton and GrabKey. 2009-05-01 09:06:33 +10:00
Eamon Walsh
57aff88c7d Fix most remaining deprecated resource lookups.
Callsites updated to use dixLookupResourceBy{Type,Class}.
TODO: Audit access modes to make sure they reflect the usage.
2009-04-29 01:04:37 -04:00
Eamon Walsh
1abe0ee3da kdrive: fix Xvfb build with separate libmain. 2009-04-28 23:51:40 -04:00
Peter Hutterer
737b49199a xfree86: restore default off for DontZap
Zapping is triggered by xkb these days, so note in the man page that it's the
Terminate_Server action. Since it's XKB, personal preferences towards or
against zapping should be achieved through xkb rulesets.
If Terminate_Server is not in the xkb actions, then we can't zap anyway and we
don't need a default of DontZap "on".

This patch restores the old meaning of DontZap - disallow zapping altogether,
regardless of XKB's current keymap.
Ideally, this patch should be accompanied by b0f64bdab00db652e in
xkeyboard-config.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-04-28 16:17:16 +10:00
Peter Hutterer
98a1fa9941 test: add InternalEvent to core event conversion tests.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-04-28 16:03:56 +10:00
Peter Hutterer
990e8362a7 test: add a simple test to verify device axis intialization.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-04-28 16:03:56 +10:00
Peter Hutterer
4eac0df060 Add a test-suite for in-server unit-testing.
This patch adds a test/ directory that contains the setup for a unit-testing
suite designed for in-server unit-testing. All functions available to the X
server are available to the test binaries through static linking.

This test suite uses the glib testing framework.
Do not use glib calls outside of the test/ directory.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-04-28 16:03:56 +10:00