| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
This reverts commit e527fdc914d4b4fa816ea9e563c6abf6505b39d3.
|
| |
|
| |
|
| |
|
|
|
|
| |
same m4 level.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When an xcb_connection_t goes into an error state, all operations on it will
fail. This means that after a call to xcb_key_symbols_get_reply(), syms->u.reply
would still be a NULL pointer and that xcb_get_setup() returns a NULL pointer.
The only way for xcb_get_setup() to return NULL is for an error connection, but
xcb_get_keyboard_mapping_reply() could also fail for other reasons. So to fix
this, all functions need to check for error connections and if syms->u.reply is
not NULL.
This was tested with the following C code:
#include <xcb_keysyms.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
xcb_connection_t *c = xcb_connect(NULL, NULL);
xcb_key_symbols_t *syms = xcb_key_symbols_alloc(c);
/* The above sent a GetKeyboardMapping request. Let's now break the
* connection so that it cannot get the reply.
*/
uint32_t max = xcb_get_maximum_request_length(c);
xcb_screen_t *s = xcb_setup_roots_iterator(xcb_get_setup(c)).data;
size_t len = (max << 2) * 2;
void *p = malloc(len);
printf("Sending request of length %d*2=%d\n",
xcb_get_maximum_request_length(c), len);
xcb_change_property(c, XCB_PROP_MODE_REPLACE, s->root,
XCB_ATOM_STRING, XCB_ATOM_STRING, 8, len, p);
free(p);
if (!xcb_connection_has_error(c))
puts("Connection did not break :(");
/* Crash? */
free(xcb_key_symbols_get_keycode(syms, 0xff14));
return 0;
}
Reference: https://awesome.naquadah.org/bugs/index.php?do=details&task_id=1195
Signed-off-by: Uli Schlachter <psychon@znc.in>
|
|
|
|
|
|
|
|
| |
When multiple keysym matches occur on one keycode, we do not want to
return that keycode multiple times.
Signed-off-by: Bastien Dejean <nihilhill@gmail.com>
Signed-off-by: Michael Stapelberg <michael+xcb@stapelberg.de>
|
| |
|
|
|
|
| |
Signed-off-by: Arnaud Fontaine <arnau@debian.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
xcb_is_modifier_key did not regecognise ISO_Level5_Shift,
ISO_Level5_Latch, and ISO_Level5_Lock as modifiers. See bug
39177, https://bugs.freedesktop.org/show_bug.cgi?id=39177
Signed-off-by: Andreas Wettstein <wettstein509@solnet.ch>
Reviewed-by: James Cloos <cloos@jhcloos.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
|
|
|
|
| |
Signed-off-by: Arnaud Fontaine <arnau@debian.org>
|
|
|
|
| |
Signed-off-by: Arnaud Fontaine <arnau@debian.org>
|
|
|
|
|
|
|
|
|
|
| |
A relative submodule URL requires m4 duplicates relative to every fork or local
mirror of this module. To select a different protocol with an absolute
submodule URL, the url.<base>.insteadOf configuration option can be used.
Signed-off-by: Dirk Wallenstein <halsmit@t-online.de>
Reviewed-by: Arnaud Fontaine <arnau@debian.org>
Reviewed-by: Gaetan Nadon <memsize@videotron.ca>
|
|
|
|
|
|
|
|
|
|
| |
Use -no-undefined to assure libtool that the library has no unresolved
symbols at link time, so that libtool will build a shared library for
platforms require that all symbols are resolved when the library is linked.
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Acked-by: Julien Cristau <jcristau@debian.org>
Reviewed-by: Arnaud Fontaine <arnau@debian.org>
|
|
|
|
|
|
|
|
|
|
| |
By copying a snippet of Makefile for xorg modules.
One side-effect is that Makefile.in is no longer
deleted on maintainer clean. This should never be done as
it leaves your configuration in a half-broken state.
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Arnaud Fontaine <arnau@debian.org>
|
|
|
|
|
|
|
|
| |
This will save future maintenance when module structure/tools change.
This patch depends on the util-common-m4 submodule patch in the m4 path
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Arnaud Fontaine <arnau@debian.org>
|
| |
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Julien Danjou <julien@danjou.info>
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Julien Danjou <julien@danjou.info>
|
|
|
|
| |
Signed-off-by: Julien Danjou <julien@danjou.info>
|
|
|
|
| |
Signed-off-by: Julien Danjou <julien@danjou.info>
|
|
|
|
|
|
|
|
|
| |
Solaris m4 does not support -I flag, but gnu m4 is included in
recent Solaris & OpenSolaris releases (and must already be installed
on any machine that runs autoconf to generate configure scripts)
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
|
|
|
|
| |
Signed-off-by: Julien Danjou <julien@danjou.info>
|
|
|
|
| |
Signed-off-by: Julien Danjou <julien@danjou.info>
|
|
|
|
|
|
|
|
| |
xcb_key_symbols_get_keycode() returned a keycode.
That's wrong, since actually a keysym can have multiple keycode. And we
usually need all this keycodes to correctly grab a keysym.
Signed-off-by: Julien Danjou <julien@danjou.info>
|
| |
|
|
|
|
| |
Signed-off-by: Julien Danjou <julien@danjou.info>
|
|
|
|
| |
This reverts commit 24da2934459c7811f77713a3c7aaa6691ad203f2.
|
|
|
|
| |
Signed-off-by: Julien Danjou <julien@danjou.info>
|
|
|
|
| |
Signed-off-by: Julien Danjou <julien@danjou.info>
|
|
|
|
|
|
| |
This is needed to have _X_INLINE.
Signed-off-by: Julien Danjou <julien@danjou.info>
|
|
|
|
| |
Signed-off-by: Julien Danjou <julien@danjou.info>
|
| |
|
|
|
|
| |
Signed-off-by: Julien Danjou <julien@danjou.info>
|
|
|
|
| |
Signed-off-by: Bart Massey <bart@cs.pdx.edu>
|
|
|
|
| |
Signed-off-by: Julien Danjou <julien@danjou.info>
|
|
|
|
| |
Signed-off-by: Julien Danjou <julien@danjou.info>
|
| |
|
|
|
|
| |
Signed-off-by: Julien Danjou <julien@danjou.info>
|
| |
|
| |
|
| |
|