Commit Graph

111 Commits

Author SHA1 Message Date
Daniel Stone 760a38c4c7 XkbCopyKeymap: fix copy-and-waste accident
When we reallocated modmap, we accidentally clobbered syms with the
result, leaving syms definitely too small, and modmap also potentially too
small (as well as not actually allocated anymore).
2007-02-05 03:43:10 +02:00
Daniel Stone 329f641727 XkbCopyKeymap: make sure sym_interpret is always valid
Make sure we're not copying sym_interpret across from an empty source.
2006-12-24 06:28:52 +02:00
Daniel Stone ec84f72d07 XkbCopyKeymap: always initialise map and preserve
If we don't have map or preserve in the source map, make sure the
destination is initialised to NULL, and freed if it's a valid type.
2006-12-08 21:31:51 +02:00
Daniel Stone e2b78df580 xkb: warning fix 2006-11-08 15:29:17 +02:00
Daniel Stone 389275d240 XkbCopyKeymap: don't iterate broken types, or dereference null pointers
Don't iterate invalid destination types (>= num_types) when coping key
types.
Don't free key_aliases if it's NULL (theoretical, but sure).
Make sure dst's label_font gets allocated if it's NULL.
(Thanks, Chris Lee.)
2006-11-08 15:29:16 +02:00
Daniel Stone d585b4189a xkb: fix uninitialised warning
Fix uninitialised warning with memset(); we never actually use it
uninitialised, but gcc doesn't know that.
2006-11-08 15:29:16 +02:00
Daniel Stone de5a4c6374 xkb: note that we allow full xi interaction
We now allow maps to be set (etc) on different keyboards, so stop putting
XkbXI_KeyboardsMask in unsupported.
2006-11-02 04:18:33 +02:00
Daniel Stone d9a5e3e964 XkbCopyKeymap: be more careful with levels, allocate compat/geom
Take various extra precautions with copying levels across (thanks Chris
Lee for a gdb session), including allocating when we don't already have a
coherent map.
Only free type components if they're present.
Allocate geometry and compat components if we don't already have them in
the dest map.
2006-11-02 00:45:23 +02:00
Daniel Stone 562096a012 XkbCopyKeymap: increment shapes and outlines when copying
Remember to increment the source and destination shapes when copying,
instead of just endlessly copying the first one.
2006-10-23 02:49:22 +03:00
Daniel Stone 6dd4fc4652 xkb: fix virtual modmap size computation
Compute virtual modmap size bounded by nVModMapKeys-1, rather than
nVModMapKeys.

This is sort of a best guess.  The other way seems a little more
logical, but also leads to segfaults pretty quickly if you hammer
GetMap hard enough.  So let's try this one.
2006-10-16 00:22:00 +03:00
Daniel Stone a484ba1527 XkbCopyKeymap: copy server vmods, and name atoms
Copy server->vmods, and all the atoms in names.
2006-10-15 23:47:34 +03:00
Daniel Stone ad355fecee xkb: make sure we set the map on the right device, not necessarily core
Forgot that all XKB requests took a device spec: the comparison of
'if working on the core keyboard, does this device send core events; or,
is this device the core keyboard?' was broken.  Instead, what we want is
'if working on the core keyboard, does this device send core events; or,
is this device the one we're working on?'.
2006-10-15 21:59:06 +03:00
Daniel Stone a05044cfc1 xkb: better support of XkbDfltXIId
XKB.h specifies that XkbDfltXIId should be used where the client doesn't
care about the device identifier.  We take this to mean core devices,
where practical.
2006-10-14 22:14:56 +03:00
Daniel Stone 93302452e7 XkbCopyKeymap: add geometry support
Add a first cut at geometry support, which seems to generally work.
2006-10-14 15:54:12 +03:00
Daniel Stone bd3d93be82 xkb: remove random broken vendor workarounds 2006-10-08 23:21:12 +03:00
Daniel Stone 4493acb88c xkb: add FIXMEs to procedures which need to act on all core devices
Add FIXME comments above request handlers which need to act on all core-sending
devices if called on the core keyboard.
2006-10-08 17:51:03 +03:00
Daniel Stone 3686cd0fbf xkb: make XkbSetControls work on all core-sending devices 2006-10-06 17:20:42 +03:00
Daniel Stone 7b4dc171b0 xkb: remove unused #ifndef 2006-10-06 16:26:54 +03:00
Daniel Stone ab56f0c5b5 xkb: simplify core device loop in GetKeyboardByName 2006-10-06 16:12:36 +03:00
Daniel Stone 4b6e2f12f7 xkb: make LatchLockGroup work on all core-sending devices
Apply the settings to all devices sending core events, if we're working on the
core keyboard.
2006-10-06 16:08:21 +03:00
Daniel Stone ebf9b3bbbb xkb: update all core-sending keyboards on GetKeyboardByName
Update the keymaps of all keyboards which send core events on
GetKeyboardByName; still a few other procedures which need this treatment.
2006-10-06 14:17:59 +03:00
Daniel Stone 9c7440bdf5 xkb: remove the world's most staggeringly broken vendor workaround
Certain versions of LynxOS needed to sleep up to five seconds for closing a
pipe to actually, y'know, be useful.
2006-10-02 20:58:33 +03:00
Daniel Stone 3c98cebb6e Merge branch 'input-hotplug' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug 2006-10-02 02:18:17 +03:00
Ivan Pascal fa1ac94178 xkb: fix wrapping when switching between groups
Use XkbCharToInt as that's what we're doing.
2006-10-02 02:17:14 +03:00
Daniel Stone 5d99e05f05 Merge branch 'input-hotplug' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug 2006-09-29 00:35:07 +03:00
Daniel Stone ad321fad4b Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug 2006-09-24 17:56:43 +03:00
Adam Jackson ce78b0cd2b Close with Pclose() that which we open with Popen(). 2006-09-21 20:42:47 -04:00
Zephaniah E. Hull 5893375786 Warning fix, and a syntax fix in a #if 0 section of code. 2006-09-10 15:50:51 -04:00
Daniel Stone 629798c73a XkbCopyKeymap/SrvXkbCopyKeymap: free geom harder, add cheery comments
Unconditionally free geometry when copying the keymap (so we have none on
core, oh well), add a couple of heartening comments.
2006-09-07 15:17:04 +03:00
Daniel Stone 0eb7299f44 [PATCH] XkbCopyKeymap: still more range fixes
Make sure we don't stomp preserve if it doesn't already exist, and fix a
couple of range-related thinkos in level name copying.
2006-08-29 15:17:56 +03:00
Daniel Stone db1ab1bdb2 XkbCopyKeymap: fix various range issues
Fix a bunch of range issues caused by incorrect assumptions (e.g. that the
design was at least halfway sensible), and copy types by hand, instead of
just blindly memcpy()ing the lot, since it itself cleverly contains a ton
of allocated pointers.
2006-08-24 23:33:59 +03:00
Daniel Stone 33af05d58f XkbCopyKeymap: use correct range for MapNotify
We haven't copied {min,max}_key_code by the time the notifies run, so use
src instead of dst to determine number of keys, et al.
2006-08-23 19:05:50 +03:00
Daniel Stone 6323a11d0d XkbCopyKeymap: optionally send NewKeyboardNotify/MapNotify events
Optionally send a NewKeyboardNotify or MapNotify event when copying the
keymap; modify GetKeyboardValuatorEvents to make use of this.
2006-08-23 18:53:04 +03:00
Daniel Stone 8f8487ff99 xkb/gkve: copy XKB map, not pointer-assign
Write a new function to copy an XKB map (does everything but geometry at
the moment), and use that instead of nasty pointer assignments.
2006-08-23 14:33:41 +03:00
Daniel Stone 984babe86b remove obsolete vendor defines
Remove random behaviour changes for SGI and MetroLink.
2006-08-12 21:43:38 +03:00
Kevin E Martin 654619d76c Revert xkb changes that broke XkbGetKeyboard() 2006-07-28 17:16:32 -04:00
Adam Jackson 0aaac95b0d Remove RCS tags. Fix Xprint makefile braindamage. 2006-07-21 17:56:00 -04:00
Daniel Stone 84683f19b4 get rid of XFree86LOADER, XFree86Server, XFree86Module, and IN_MODULE
Get rid of almost all uses of these definitions.  They're still defined for
delinquent out-of-tree drivers, and also for the Mesa build.  As well as
for miinitext.c.  But largely gone.
2006-07-18 18:17:38 -04:00
Tilman Sauerbeck 63f13e01ee Bug #7097: do case-insensitive comparison for some hotkeys.
xkb's strcasecmp implementation has been moved to the dix so it's now
safe to just use strcasecmp().
2006-07-08 11:33:44 +02:00
Daniel Stone df6da66525 Simplify the unsupported XI function list. 2006-06-01 20:56:39 +00:00
Daniel Stone fd8bde8bb0 Remove -xkbmap argument. 2006-05-29 11:14:03 +00:00
Daniel Stone db0680cf70 Minor #include cleanups. 2006-05-29 09:26:32 +00:00
Jeremy C. Reed b3031532ca Remove tolower() which was missed in the _XkbStrCaseCmp/strcmp changes. 2006-05-24 20:11:38 +00:00
Daniel Stone 6aadd454e7 Fix stupid thinko. 2006-04-10 10:11:19 +00:00
Daniel Stone c9f6e60d42 Coverity #826: Fix potential memory leak. 2006-04-10 08:50:33 +00:00
Daniel Stone 1357af2474 Coverity #340: Fix potential NULL dereference. Clean up proliferation of
'register int n' in loops of ProcXkbGetNames.
2006-04-09 17:39:10 +00:00
Daniel Stone f324be00c5 Coverity #324: Fix potential NULL dereference. (Alan Coopersmith) 2006-04-09 17:28:42 +00:00
Daniel Stone 7637aa17f2 Coverity #169: Fix potential fgets() into NULL (?!?). 2006-04-09 17:26:17 +00:00
Daniel Stone 47bdc9528c Coverity #844, #845, #846: Fix memory leaks. 2006-04-07 16:07:50 +00:00
Daniel Stone 2c90c3bfef Coverity #987: Avoid potential NULL dereference. 2006-04-07 15:57:17 +00:00