I wonder how we could have lasted that long without them.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Daniel Stone <daniel@fooishbar.org>
Acked-By: James Cloos <cloos@jhcloos.com>
Based on grammar description in modules/im/ximcp/imLcPrs.c and
note on XFree86 changes formerly found in xorg-docs RELNOTES.sgml
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
1) Add AC_ARG_VAR for GROFF and PS2PDF to inform users of these
environment variables.
2) Check that groff -ms works
Some distributions ship the ms macros as a separate package which may
not be installed together with groff, so we need to make sure that groff
works and the required macros are actually installed before attempting
to build the specs.
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
If groff is found, and --disable-specs is not passed to configure,
specs will be converted to text, html and ps (or pdf if ps2pdf is
found) and installed to $(docdir)
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Previous versions of Cygwin did not have proper locale support, so Cygwin/X
defined X_LOCALE, using _Xsetlocale instead. Cygwin 1.7 has added locale
support, but we can't remove the _Xsetlocale entry point without breaking
ABI.
Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Without this, configure spits out
../configure: line 12364: ac_fn_c_check_member: command not found
../configure: line 12378: ac_fn_c_check_type: command not found
Also anchor the pattern to make it stricter.
Signed-off-by: Julien Cristau <jcristau@debian.org>
On some build systems, CPPFLAGS is set to "-I/some/prefix/include". If older
X11 headers are in /some/prefix/include, they will be preferred over the
shipped headers. This corrects that problem.
Lenovo laptops provide a key to enable or disable the touchpad and the
trackstick. This key is usually located on Fn + F8.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Adam Jackson <ajax@redhat.com>
AM_CONDITIONAL must come *before* the AC_OUTPUT that creates the
Makefiles, instead of after.
<http://bugs.freedesktop.org/show_bug.cgi?id=24173>
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
A number of characters in use in the various countries which use the
Cyrillic script do not appear as pre-composed characters in The UCS
or Unicode; they are only available as combining-character sequences.
This commit adds support for using (prefix) dead keys and Multi_key-
initiated sequences to enter a number of these combining-character
sequences. This ensures that users can enter these scripts even
when using the current Cyrillic keymaps, which lack support for
the combining characters.
Please see the discussions on the xkb mailing list.
Signed-off-by: James Cloos <cloos@jhcloos.com>
Commit 554f755e55 added generic event
cookie handling. Bump libX11 version number accordingly.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
utlist.h contains the linked list macros, it was added with the recent
addition of event cookies but utlist.h wasn't added to the Makefile.am. As a
result, make dist failed.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Generic events require more bytes than Xlib provides in the standard XEvent.
Memory allocated by the extension and stored as pointers inside the event is
prone to leak by simple 'while (1) { XNextEvent(...); }' loops.
This patch adds cookie handling for generic events. Extensions may register
a cookie handler in addition to the normal event vectors. If an extension
has registered a cookie handler, _all_ generic events for this extensions
must be handled through cookies. Otherwise, the default event handler is
used.
The cookie handler must return an XGenericEventCookie with a pointer to the
data.The rest of the event (type, serialNumber, etc.) are to be filled as
normal. When a client retrieves such a cookie event, the data is stored in
an internal queue (the 'cookiejar'). This data is freed on the next call to
XNextEvent().
New extension interfaces:
XESetWireToEventCookie(display, extension_number, cookie_handler)
Where cookie_handler must set cookie->data. The data pointer is of arbitray
size and type but must be a single memory block. This memory block
represents the actual extension's event.
New client interfaces:
XGetEventData(display, *cookie);
XFreeEventData(display, *cookie);
If the client needs the actual event data, it must call XGetEventData() with
the cookie. This returns the data pointer (and removes it from the cookie
jar) and the client is then responsible for freeing the event with
XFreeEventData(). It is safe to call either function with a non-cookie
event. Events unclaimed or not handled by the XGetEventData() are cleaned up
automatically.
Example client code:
XEvent event;
XGenericEventCookie *cookie = &ev;
XNextEvent(display, &event);
if (XGetEventData(display, cookie)) {
XIEvent *xievent = cookie->data;
...
} else if (cookie->type == GenericEvent) {
/* handle generic event */
} else {
/* handle extension/core event */
}
XFreeEventData(display, cookie);
Cookies are not multi-threading safe. Clients that use XGetEventData() must
lock between XNextEvent and XGetEventData to avoid other threads freeing
cookies.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
GenericEvent cannot be selected for in the core event masks and they must
thus be treated like extension events.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>