Age | Commit message (Collapse) | Author | Files | Lines |
|
(cherry picked from commit 8840829ab93c4eb62eb58753c015da5307133fe5)
|
|
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 5ee409794ee604fcf84886f70429fc2d6b1ff4f1)
|
|
Fix the botched previous key_is_down test, which would give false positives.
Also move key_autorepeats to a separate inline function.
|
|
* dix/extension.c:
(AddExtensionAlias): don't crash when failed to add
extension alias.
|
|
* dix/events.c, include/dix.h:
(UpdateSpriteForScreen): added this to update the mouse sprite context
when we switch from a pScreen to another.
* mi/mipointer.c:
(miPointerWarpCursor): as we are switching to a new pScreen,
don't forget to update the mouse sprite context.
|
|
When we change the mapping on a core device, make sure we propagate this
through to XKB for all extended devices as well.
|
|
We can only deal with keycodes between 8 and 255, so make sure that we never
accept anything out of this range.
|
|
This was an attempt to avoid scratch gc creation and validation for paintwin
because that was expensive. This is not the case in current servers, and the
danger of failure to implement it correctly (as seen in all previous
implementations) is high enough to justify removing it. No performance
difference detected with x11perf -create -move -resize -circulate on Xvfb.
Leave the screen hooks for PaintWindow* in for now to avoid ABI change.
|
|
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.
|
|
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.
|
|
Composite's automatic redirection is a more general mechanism than the
ad-hoc BS machinery, so it's much prettier to implement the one in terms
of the other. Composite now wraps ChangeWindowAttributes and activates
automatic redirection for windows with backing store requested. The old
backing store infrastructure is completely gutted: ABI-visible structures
retain the function pointers, but they never get called, and all the
open-coded conditionals throughout the DIX layer to implement BS are gone.
Note that this is still not a strictly complete implementation of backing
store, since Composite will throw the bits away on unmap and therefore
WhenMapped and Always hints are equivalent.
|
|
|
|
Thou should not apply patches manually without testing.
|
|
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.
|
|
automake 1.10 really wants foo.c for foo.O, so give it some dummy files to
deal with if it really needs them.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
Move the null root cursor handling out of main() and into CreateRootCursor.
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
|
|
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.
|
|
some minor cosmetic.
|
|
(cherry picked from commit 0c33dc152e372cdc8ae59d9a5696b0774bcd03b7)
|
|
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 3e894974cdd6a75683d4601f71622d1da7ec4395)
Conflicts:
Xi/exevents.c
|
|
|
|
exists, remove the old one and prepend the new one.
X.org Bug 2738 <https://bugs.freedesktop.org/show_bug.cgi?id=2738>
|
|
|
|
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.
|
|
(Specificly, we were missing the screen field.)
|
|
Fixes an error returning "No core keyboard" with multiple keyboards.
|
|
|
|
|
|
|
|
Include the device id in the event sent to the client.
|
|
|
|
|
|
Scan the device list when adding a new device, and make sure we can use
the first available ID, instead of always incrementing.
|
|
Remember to also free the motion history, if we're using the DIX-managed
history.
|
|
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.
|
|
X.Org Bugzilla #10560: <https://bugs.freedesktop.org/show_bug.cgi?id=10560>
Patch #9511 <https://bugs.freedesktop.org/attachment.cgi?id=9511>
|
|
|
|
|
|
|
|
overrun when copying keymap from extension devices.
|
|
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.
|