src/atom.c


Log

Author Commit Date CI Message
Ran Benita 8fbd44fd 2012-04-06T03:12:50 Implicitly include config.h in all files The definitions in config.h should be available in all files an implementation detail; it can be included through the build system instead of having each file pull it every time. This is especially helpful with AC_USE_SYSTEM_EXTENSIONS, as _GNU_SOURCE and friends can have an effect by merely being defined, which can lead to some confusion if its effective for only half the files. And we don't really support a build _without_ config.h; so, one less thing to worry about. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 3c949379 2012-03-31T00:02:12 Fix bugs to allow multiple keymaps in one process These were several initializations that were forgotten in the previous memory leak fixes. Now several xkb_desc's can coexist (relatively) peacefully. Signed-off-by: Ran Benita <ran234@gmail.com> [daniels: Only the atom.c is relevant with the new context API.]
Ran Benita ffb610c9 2012-03-31T02:26:24 Remove useless check from xkb_intern_atom The "makeit" variable is always true. Remove it and de-indent. (Also change the type of the "len" variable to size_t to avoid some useless casting). Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita d3908b63 2012-03-24T12:33:28 Define our own None atom value Since we define our own xkb_atom_t type, it makes sense not to use the X11/X.h None value. This way we can also remove a lot of X11 includes. Signed-off-by: Ran Benita <ran234@gmail.com>
Daniel Stone a0e756fd 2012-03-09T19:09:25 Introduce xkb_atom_t type Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Daniel Stone d67a94d3 2012-03-09T18:57:14 Remove atom functions from public API They're no longer needed since we don't expose any atoms in the published API anymore. As a result, we don't need to support external atom implementations either. Result! Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Ran Benita 19e99bb2 2012-03-01T20:41:34 Free all atoms along with keymap The code to do this is taken from xserver, dix/atom.c. Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita 266dfae5 2012-02-29T21:26:28 Remove useless casts Signed-off-by: Ran Benita <ran234@gmail.com>
Ran Benita a3e40917 2012-03-01T23:43:51 Remove return's at the end of void functions Signed-off-by: Ran Benita <ran234@gmail.com>
Daniel Stone ead9d0cb 2012-02-15T11:49:10 Move include path from X11/extensions/ to xkbcommon/ Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Kristian Høgsberg a63e82be 2010-12-17T21:14:54 Rename XkbcInternAtom() to xkb_intern_atom() and export Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Adam Jackson 73ca959d 2010-09-27T16:05:52 Dead code removal and static markup Signed-off-by: Adam Jackson <ajax@redhat.com>
Kristian Høgsberg 3f0034a9 2010-07-02T11:50:01 Rename public entry points to lowercase and underscore
Kristian Høgsberg e10e16ad 2010-06-30T17:20:56 Constify XkbcAtomText() Atoms aren't mutable and this lets us put tbGetBuffer() back in the box.
Kristian Høgsberg d95b2893 2010-06-30T17:13:21 Make XkbcInitAtoms() call optional
Kristian Høgsberg 0ece2cdb 2010-06-30T16:56:24 Drop more malloc/free wrappers
Kristian Høgsberg 47d3b396 2010-06-28T06:50:12 Drop CARD32 and Opaque types
Daniel Stone 2c4a045a 2010-06-21T14:22:26 Allow external atom databases Allow people to plug in an external atom database (e.g. the X server's), so we don't have to migrate our own atoms over later. We are a bit over-keen on atoms at the moment, so it does pollute the atom database a bit though. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Daniel Stone 48baabeb 2010-06-15T19:30:30 Atoms: Avoid allocations in XkbAtomText() XkbAtomGetString() returns a freshly-allocated string, whereas XkbAtomText() returns the same in a temporary buffer. XkbAtomText used to call XkbAtomGetString() and then free the result, which seems quite spectacularly pointless when you think about it. Shuffle the atom code around so we don't have to allocate for XkbAtomText(). This changes semantics slightly wrt non-printable characters, but I haven't been able to see any effect so far. And it may well be ever so slightly quicker. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Dan Nicholson 6a84a34d 2009-04-08T07:46:25 Remove all non-public API from XKBcommon.h header The noble intention was to expose all the new API and new generic types in the split out kbproto headers through XKBcommon.h. It turns out that would be a massive amount of work in the server. Someday, but first just wedging in XkbCompileKeymap* would be good. Most of the API is in new internal xkb*.h headers. In order to allow the XKBcommon.h header to be used from the server, we can't pull in other headers from kbproto since the server has its own copies. However, types that are different (XkbDescRec, XkbAction) still have Xkbc equivalents here, and I think they should be used in the server.
Dan Nicholson 433a405c 2009-03-25T19:17:33 atom: Coding-style cleanup and refactor Some coding style nits were cleaned up. Additionally, most of the functions have been collapsed from the libxkbfile version where there's distinction with the Xlib atom functions when Display was set. Finally, the InitAtoms function tests whether the table has already been created by testing the pointer rather than using a static int.
Dan Nicholson c88c0ba7 2009-03-25T19:00:49 Borrow atom implementation from libxkbfile We need an atom implementation not relying on XInternAtom and friends. The original code is in libxkbfile/src/xkbatom.c