Commit Graph

252 Commits

Author SHA1 Message Date
Ben Byer
c213749b19 fixes to allow Xvfb and Xephyr to be built if you build with --disable-xdarwin 2007-11-20 03:41:29 -08:00
Ben Byer
d01986d5a9 DIX Fix: QueryFontReply packets can be too big to be allocated on the stack 2007-11-20 03:18:42 -08:00
Ben Byer
616ba3c7d6 finished committing downstream changes 2007-11-20 03:15:02 -08:00
Daniel Stone
f3a5d67688 GetKeyboardEvents: Reject out-of-range keycodes (bug #12528)
We can only deal with keycodes between 8 and 255, so make sure that we never
accept anything out of this range.
(cherry picked from commit 0e800ca465)
2007-11-17 22:07:08 +01:00
Naoki Hamada
35bf7c738a Input: Fix key down test (bug #12858)
Fix the botched previous key_is_down test, which would give false positives.
Also move key_autorepeats to a separate inline function.
(cherry picked from commit 242f56f722)
2007-11-17 22:06:51 +01:00
Daniel Stone
0050d7e78d DIX: XKB: Set xkbInfo to NULL as well as freeing it (bug #10639)
XkbRemoveResourceClient wants to access xkbInfo if it exists, so make
sure we NULL it after freeing it.  It doesn't make much sense to move
the RemoveResourceClient call first, as there's not much point in
notifying clients while we're shutting the server down anyway.
(cherry picked from commit 23023af1c5a33546a2027cad23a946a2882e9893)
2007-11-06 14:52:11 +00:00
Daniel Stone
ad05d5d035 Input: Generate XKB mapping changes for all core-sending devices (bug #12523)
When we change the mapping on a core device, make sure we propagate this
through to XKB for all extended devices as well.
(cherry picked from commit 27ad5d74c2)
2007-10-31 01:07:17 +02:00
Peter Hutterer
5909fb3c40 dix: don't compress motion events from different devices (EventEnqueue)
(cherry picked from commit 8840829ab9)
(cherry picked from commit 352c5a3112)
2007-10-30 00:58:51 +02:00
Peter Hutterer
600752bece dix: add XI event support to FixKeyState.
FixKeyState needs to be able to handle XI events, otherwise we get "impossible
keyboard events" on server zaps and other special key combos.
(cherry picked from commit 5ee409794e)
(cherry picked from commit 8d3d027062)
2007-10-30 00:58:43 +02:00
Daniel Stone
f73fd98a86 Fix key repeats during VT switch.
Add keyc->postdown, which represents the key state as of the last mieqEnqueue
call, and use it when we need to know the posted state, instead of the
processed state (keyc->down).  Add small functions to getevents.c to query and
modify key state in postdown and use them all through, eliminating previously
broken uses.
(cherry picked from commit 81c28ffd2b)
2007-09-05 17:47:50 -07:00
Eric Anholt
70ed110538 Fix server version reporting to be the server package version.
Previously, the server version reported by xdpyinfo and Xorg -version would
bear some vague resemblance to a X.Org katamari version, but in the presence
of modularization (and client-server relationships with different katamari
versions on each side) those numbers don't really make sense.  Instead, just
report the package version.

When branching a stable branch, master's version should be immediately updated
to the endpoint of the stable branch plus a snapshot of 1 (for example,
1.4.0.1 after server-1.4-branch).  The stable branch should then be changed to
RC0 at that time (1.3.99.0, for example).

This scheme was partially attempted for server 1.3, but lacked the appropriate
master updates, thus why it had to be revisited now.  While here, we can also
remove a lot of versioning complexity since everything is based on the package
version.

(cherry picked from commit 47300ed2be)
2007-09-05 13:31:50 -07:00
Matthieu Herrb
3e9ecdcb13 Remove an extra cast.
Thou should not apply patches manually without testing.
(cherry picked from commit a66c0f1dca)
2007-08-31 10:00:10 -07:00
Otto Moerbeek
a964d54128 A high resolution device that's moving fast can potentially generate
an int overflow, making dx*dx+dy*dy negative. Now pow(negative,
non-integer) yields NaN, so you loose.  Use fp math to avoid that.
(cherry picked from commit 12d27cf33c)
2007-08-31 09:59:53 -07:00
Daniel Stone
1ace9770fe Build system: Non-dtrace distcheck hacks
automake 1.10 really wants foo.c for foo.O, so give it some dummy files to
deal with if it really needs them.
2007-08-01 08:10:38 +03:00
Daniel Stone
6b055e5d97 Input: Fix stuck modifiers (bug #11683)
Disclaimer: It's 6:51am.  I'm trying to be as understandable as possible.

What was happening previously was this:
 * Press Alt
 * Extended event generated and processed: state is now Alt down once
 * Core event generated
   - keyboard switched: inherited state is Alt down once
   - event processed: Alt down twice
 * Release Alt
 * Extended event generated and processed: state is now null
 * Core event generated and processed: Alt down once

If we switch the order:
 * Press Alt
 * Core event generated:
  - keyboard switched: inherited state is null
  - event processed: Alt down once
 * Extended event generated and processed: state is now Alt down once
 * Release Alt
 * Core event generated and processed: state is now null
 * Extended event generated and processed: state is now null

When we carry over the previous state, it needs to be the _previous_ state
(state and modifiersPerKey), assuming that we're going to catch now-core
events for any of these.  For example, if Ctrl is held down as we pivot, we
need to carry Ctrl over with a count of one, for which an extended + core
release will then clear.  Carrying over the union of the previous state _and
the state resulting from the immediate action_ was what broke things.
2007-08-01 06:55:36 +03:00
Daniel Stone
1150969b82 Convert all my license statements to the standard form
Convert all my license statements to the standard, accepted form:
cf. <20070717142307.GD13478@fooishbar.org>
    http://lists.freedesktop.org/archives/xorg/2007-July/026451.html

keithp's license on configure.ac changed with his verbal permission.
2007-08-01 01:53:31 +03:00
Daniel Stone
8658f5d923 Hotplug: Add HAL support
Add support for HAL-based hotplugging, in which we just get the list of
input devices and properties from HAL.  Requires an FDI which is not yet
in mainline HAL.
2007-08-01 01:53:31 +03:00
Daniel Stone
4d238c5c67 Input: GetPointerEvents: Deny events from devices without valuators
For some reason, my keyboard has 25 mouse buttons, but zero valuators.  This
causes GPE to blow up spectacularly, trying to get (and set) co-ordinates from
devices without valuators.  For now, just prevent this from ever happening,
and whack a dirty great FIXME in.
2007-08-01 01:53:31 +03:00
Daniel Stone
0afeb0241a DIX: Clean up null root cursor handling
Move the null root cursor handling out of main() and into CreateRootCursor.
2007-08-01 01:53:31 +03:00
Daniel Stone
4d3379d418 Fonts: Fix builtin fonts
Make sure the font path is always 'built-ins' when we use built-in fonts,
rather than having it as a fixed path for a while, then clobbering it
halfway through startup.
2007-08-01 01:53:31 +03:00
Daniel Stone
1cdadc2f43 Hotplug: Separate D-Bus into core and hotplug API components
Break up D-Bus into two components: a D-Bus core that can be used by any
part of the server (for the moment, just the D-Bus hotplug API, and the
forthcoming HAL hotplug API), and the old D-Bus hotplug API.
2007-08-01 01:53:31 +03:00
Adam Jackson
7da38bb6a1 Partial redundancy elimination in PropertyNotify generation. 2007-07-21 15:27:40 -04:00
Keith Packard
866f092ca0 Make Composite manual redirect windows not clip their parent.
This patch changes the semantics of manual redirect windows so that they no
longer affect the clip list of their parent. Doing this means the parent can
draw to the area covered by the child without using IncludeInferiors. More
importantly, this also means that the parent receives expose events when
that region is damaged by other actions.
2007-07-03 14:29:11 -07:00
Adam Jackson
4d76075dbb Death to RCS tags. 2007-06-29 14:06:52 -04:00
Peter Hutterer
2691c05fd6 Make sure window->optional is allocated before assigning it.
DeletePassiveGrabFromList() may remove the window optional, so we need to
re-alloc it if it isn't there anymore.

Thanks to Colin Harrison for spotting the bug.
2007-06-29 11:56:18 +09:30
Tiago Vignatti
d73835efda More janitor work. Remove 'defined but not used' warnings from kdrive and some minor cosmetic. 2007-06-27 03:34:13 -03:00
Peter Hutterer
8e5102b9f0 Set the detail field for DeviceKeyEvents to the keycode.
(cherry picked from commit 0c33dc152e)
2007-06-25 09:35:31 +09:30
Peter Hutterer
87564543d9 Only decrement buttonsDown when the button count is greater than 0.
Device drivers flush their buttons on device init and cause a button down
event to be generated. If we unconditionally decrease the buttons, we won't be
able to ever get a passive device grab.

Format documentation for CheckDeviceGrabs to make it readable.
(cherry picked from commit 3e894974cd)

Conflicts:

	Xi/exevents.c
2007-06-25 09:35:30 +09:30
Peter Hutterer
24ee89fd60 Add a few comments to devices.c 2007-06-25 09:35:30 +09:30
Peter Hutterer
b141b85c25 Check for identical grabs when adding a new passive grab. If an identical grab
exists, remove the old one and prepend the new one.

X.org Bug 2738 <https://bugs.freedesktop.org/show_bug.cgi?id=2738>
2007-06-25 09:35:30 +09:30
Michel Dänzer
644f7ddc0c dixLookupClient: Use access parameter. 2007-06-11 09:23:18 +02:00
Adam Jackson
dfbe32b5b8 Remove the old Kerberos 5 authentication code.
Before you complain, this code hasn't seen material change since at least
X11R6.  It certainly does not build with any modern version of Kerberos.
Anybody wanting krb5 auth to their X server should probably be using
GSSAPI instead of internal krb5 API anyway.
2007-06-04 18:07:00 -04:00
Zephaniah E. Hull
a4f3473c88 Fully init the AbsoluteClassRec in InitAbsoluteClassDeviceStruct.
(Specificly, we were missing the screen field.)
2007-06-04 06:39:02 -04:00
Luo Jie
3c982bc1a4 Reinstate an apparently mis-deleted ';' from a for loop with no body.
Fixes an error returning "No core keyboard" with multiple keyboards.
2007-05-24 11:30:31 -07:00
Luo Jie
1f48995d66 Fix build of composite, dix, and randr when Xinerama is disabled. 2007-05-24 11:20:59 -07:00
Soren Sandmann Pedersen
dde0ceac4e Add new InitRegions() function called from dix/main 2007-05-15 11:13:15 -04:00
Peter Hutterer
09436fb7c3 Disable devices before removing, remove unrecoverable devices. 2007-04-24 23:11:44 +09:30
Peter Hutterer
c7e2ba0c9b Use DevicePresence events to tell the client about enabled/disabled devices.
Include the device id in the event sent to the client.
2007-04-24 23:11:44 +09:30
Brian
ce099a9b78 fix bug in which maxKeysPerModifier wasn't getting set 2007-04-23 12:34:01 -06:00
Peter Hutterer
7ccebc50b9 Documentation for events.c. 2007-04-13 13:08:44 +09:30
Magnus Vigerlöf
4f05f9591e Input: Always add devices with first available ID
Scan the device list when adding a new device, and make sure we can use
the first available ID, instead of always incrementing.
2007-04-10 23:58:20 +03:00
Magnus Vigerlöf
07c56abf84 Input: Plug memory leak in device free
Remember to also free the motion history, if we're using the DIX-managed
history.
2007-04-10 23:58:20 +03:00
Daniel Stone
e92743bc98 getevents: Copy modifier state from extended to core devices
Make core events carry the same modifier state as the extended events, so
that holding down Ctrl on keyboard A and pressing Q on keyboard B won't
cause your app to quit.
2007-04-10 23:58:20 +03:00
Stefan Huehner
1f6741db19 Bug #10560: Code-Cleanup: function declarations () -> (void)
X.Org Bugzilla #10560: <https://bugs.freedesktop.org/show_bug.cgi?id=10560>
Patch #9511 <https://bugs.freedesktop.org/attachment.cgi?id=9511>
2007-04-09 14:33:15 -07:00
Eamon Walsh
f7c5aa0dc0 Remove dead NEED_DBE_BUF_BITS code. 2007-03-26 10:21:44 -04:00
Adam Jackson
4b5802ddbd General DIX static and dead code cleanup. 2007-03-25 17:57:54 -04:00
Adam Jackson
9a0f25de7c Static cleanups, dead code deletion. 2007-03-25 12:27:01 -04:00
Peter Hutterer
ac2356843e dix: Increase allocation size for core keyboard keymap to avoid buffer overrun when copying keymap from extension devices. 2007-03-25 15:24:47 +09:30
Adam Jackson
021fc5cb2c Static markup and dead code cull over xkb/.
The former <X11/extensions/XKBsrv.h> has been pulled into the server now as
include/xkbsrv.h, and the world updated to look for it in the new place,
since it made no sense to define server API in an extension header.  Any
further work along this line will need to do similar things with XKBgeom.h
and friends.
2007-03-20 18:37:02 -04:00
Peter Hutterer
63169ce52d dix: remove 'register' keyword for all variables. 2007-03-08 17:50:25 +10:30