Commit Graph

1843 Commits (f09ae987bffc2ede00341bc6f0e903ae6810def5)

Author SHA1 Message Date
Ran Benita 7407d311bf test/symbols-leak-test: fix sed regex on macOS
Signed-off-by: Ran Benita <ran234@gmail.com>
2019-07-25 14:18:42 +03:00
Ran Benita c68a8e2998 build: fixup autotools build after 97f41fe
Signed-off-by: Ran Benita <ran234@gmail.com>
2019-07-25 13:34:49 +03:00
Ran Benita 97f41fe4ac test/symbols-leak-test: make it work with macOS diff
The <() stuff fails with an error:
    diff: extra operand `/dev/fd/61'

Signed-off-by: Ran Benita <ran234@gmail.com>
2019-07-25 13:24:00 +03:00
Ran Benita 6728ebca4a test/rmlvo-to-keymap: drop basename usage
It wants some libgen.h include which is POSIX only, let's just remove
it as it's hardly important.

Signed-off-by: Ran Benita <ran234@gmail.com>
2019-07-25 12:00:27 +03:00
worldofpeace 32d178b50f test/rmlvo-to-keymap.c: fix compilation on Darwin (#101)
program_invocation_short_name isn't portable.
2019-07-19 09:56:41 +03:00
Daniel Stone 909cc04d2c interactive-wayland: Port to stable xdg-shell (#100)
xdg_shell v6 was pretty close to the finalised stable version of
xdg-shell. We can now just use the stable version, which is supported
everywhere (Enlightenment, KWin, Mutter, Weston, wlroots).

This requires bumping the wayland-protocols dependency.

Signed-off-by: Daniel Stone <daniels@collabora.com>
2019-07-02 15:48:32 +03:00
Ran Benita 06a80beed8
Merge pull request #98 from michaelforney/popcount
Use bitwise test for power-of-2 instead of popcount
2019-06-11 19:59:25 +03:00
Michael Forney 9d58bbd4ff Use bitwise test instead of popcount to check if one bit is set
We don't need to determine the total number of bits set to determine if
exactly one is set.

Additionally, on x86_64 without any -march=* flag, __builtin_popcount
will get compiled to a function call to the compiler runtime (on gcc),
or a long sequence of bit operations (on clang).

Signed-off-by: Michael Forney <mforney@mforney.org>
2019-06-10 11:15:55 -07:00
Ran Benita db33ec0d61
Merge pull request #96 from Jjagg/patch-1
Fix a few doc typos
2019-06-05 09:49:04 +03:00
Jesse 8129f3b256
Fix some doc typos 2019-06-04 23:44:42 +02:00
Ran Benita db7e79e78d
Merge pull request #95 from Hi-Angel/fix-lgtm-warnings
Fix some of LGTM warnings
2019-03-24 14:05:17 +02:00
Konstantin Kharlamov 75d1110c22 symbols: add a comment to suppress warning from code analyzers
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
2019-03-23 23:31:29 +03:00
Ran Benita 83cfbf8840
Merge pull request #94 from milloni/milloni/m4
Makefile.am: add include dir for AC_CONFIG_MACRO_DIR to work
2019-03-12 19:39:23 +02:00
milloni 10311c95ef Makefile.am: add include dir for AC_CONFIG_MACRO_DIR to work
With older versions of autotools, one needs to add this line to
Makefile.am. From the autoconf docs: "Note that if you use aclocal from
Automake to generate aclocal.m4, you must also set ACLOCAL_AMFLAGS = -I dir
in your top-level Makefile.am". [1]

I couldn't build with autoconf 2.68 without this.

[1] https://www.gnu.org/software/autoconf/manual/autoconf-2.65/html_node/Input.html

Signed-off-by: milloni <milloni@preemptable.org>
2019-03-12 16:22:15 +00:00
Ran Benita 255047f757 README: usage questions are alright
Signed-off-by: Ran Benita <ran234@gmail.com>
2019-02-26 18:32:32 +02:00
Ran Benita 6f0f9534b3 README: stop pointing at bugs.freedesktop.org
No-one filed bugs in there for a while, let's consolidate on the more
popular one.

Signed-off-by: Ran Benita <ran234@gmail.com>
2019-02-26 18:32:32 +02:00
maxice8 9badb4e4a2 meson.build: use program from build machine not host or target.
We can't always execute binaries from the host or target machine,
as is the case in cross compilation.

closes #89
2019-02-23 09:04:36 +00:00
Ran Benita d40b368b2f Bump version to 0.8.4
Signed-off-by: Ran Benita <ran234@gmail.com>
2019-02-22 22:26:49 +02:00
Ran Benita 2d9e1751d0 Update NEWS
Signed-off-by: Ran Benita <ran234@gmail.com>
2019-02-22 22:26:11 +02:00
Ran Benita df28d5e8e3 build: fix meson build from tarball generated by autotools
These files are used by the meson build only. Previously, trying to
build with meson using the tarball generated by distcheck would fail.

Fixes https://github.com/xkbcommon/libxkbcommon/issues/87.

Reported-by: manesm52
Signed-off-by: Ran Benita <ran234@gmail.com>
2019-02-22 15:46:44 +02:00
Peter Hutterer 3f5095339f meson.build: link the sources directly into libxkbcommon-x11
Similar to 75ce741ab9, just for the -x11
sublibrary.

This works around meson bug 3937, 'link_whole' arguments don't get added into
the final static library and we end up with a virtually empty 8-byte
libxkbcommon-x11.a file, see https://github.com/mesonbuild/meson/issues/3937

The internal lib is still built for the one test case that requires it.

Fixes #86

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-02-11 11:35:34 +02:00
Ran Benita 9f93ebcf2b Bump version to 0.8.3
Signed-off-by: Ran Benita <ran234@gmail.com>
2019-02-08 12:39:01 +02:00
Ran Benita 53e7a315c3 Update NEWS
Signed-off-by: Ran Benita <ran234@gmail.com>
2019-02-08 12:38:02 +02:00
Ran Benita caddfdb0ad meson: make comment make sense now
Signed-off-by: Ran Benita <ran234@gmail.com>
2019-02-08 12:29:27 +02:00
Ran Benita 327fd9a1de
Merge pull request #85 from whot/wip/static-lib-sources
meson.build: manually link all sources into the library
2019-02-08 12:18:00 +02:00
Peter Hutterer 75ce741ab9 meson.build: manually link all sources into the library
This works around meson bug 3937, 'link_whole' arguments don't get added into
the final static library and we end up with a virtually empty 8-byte
libxkbcommon.a file, see https://github.com/mesonbuild/meson/issues/3937

Workaround is simply to add all sources to both libraries we need them in.
This obviously compiles them twice but this year's winter was cold and
bit of extra warmth will be appreciated.

Fixes #84

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-02-08 12:21:28 +10:00
Ran Benita 73794e1e54 docs: fix a doxygen reference warning 2019-01-28 16:29:09 +02:00
Ran Benita 828cec7b8b
Merge pull request #81 from whot/master
keysyms: fix comment for XKB_KEY_OCARON
2019-01-25 12:50:55 +02:00
Peter Hutterer e08d589f2c keysyms: fix comment for XKB_KEY_OCARON
Reported-by: Keve Müller
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-01-25 10:39:22 +10:00
Ran Benita bc04af63c0
Merge pull request #79 from jwrdegoede/add-2-new-keysyms
Sync Keysyms with recent xproto additions
2019-01-22 09:48:23 +02:00
Hans de Goede 9b85d96d2a Sync Keysyms with recent xproto additions
xproto recently has been extended with 2 new keysyms:
XF86XK_MonBrightnessCycle
XF86XK_RotationLockToggle

This commit is the result of running "scripts/update-keysyms" on a system
with the updated xproto installed.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2019-01-22 08:31:43 +01:00
Ran Benita 293c704cbe
Merge pull request #69 from alanc/master
Fix off-by-one error in index check in xkb_file_type_to_string
2018-10-01 10:24:45 +03:00
Alan Coopersmith 31f1f35570 Fix off-by-one error in index check in xkb_file_type_to_string
Found by Oracle's Parfait 2.2 static analyzer:
Error: Buffer overrun
   Read outside array bounds [read-outside-array-bounds] (CWE 125):
      In array dereference of xkb_file_type_strings[type] with index type
      Array size is 56 bytes, index <= 56
        at line 734 of src/xkbcomp/ast-build.c in function 'xkb_file_type_to_string'.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2018-09-30 16:04:29 -07:00
Ran Benita c9a499c9c9 darray: fix unprotected macro argument
Reported-by: @msmeissn
Signed-off-by: Ran Benita <ran234@gmail.com>
2018-08-24 09:19:29 +03:00
Ran Benita 87b0765fde
Merge pull request #68 from whot/wip/xkeyboard-config-tester
xkeyboard-config combination tester
2018-08-21 09:05:09 +03:00
Peter Hutterer 878bc08559 test: allow for absolute paths to be resolved
This makes it possible to check a keymap sitting elsewhere than in the test
directory.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-21 11:31:10 +10:00
Peter Hutterer 16c84cdd81 test: drop the rmlvo ability from print-compiled-keymap
This is now handled by the rmlvo-to-keymap tool

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-21 11:31:07 +10:00
Peter Hutterer d1cb8ad409 test: add a tool to test-compile all LVO combinations from xkeyboard-config
This test contains of two parts:
- a simple program to convert RMLVO commandline arguments into a keymap (and
  print that keymap if requested).
- a python script that runs through rules/evdev.xml, and tries to compile a
  keymap for sort-of every layout/variant/option combination. Sort-of, because
  we can have multiple options and it really only does one per layout(variant)
  combination.

Same thing can be done using xkbcomp, but right now it doesn't take that as
argument, it's hard-coded.

This takes quite a while, installing python-tqdm is recommended to see fancy
progress bars instead of just miles of dumps.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-21 11:30:45 +10:00
Ran Benita d7891d0913 build: turn off strict aliasing
The benchmarks don't show any effect, so turn it off to have one less
thing to worry about. The parser does a lot of casting between AST
nodes.

Signed-off-by: Ran Benita <ran234@gmail.com>
2018-08-18 15:12:57 +03:00
Ran Benita a9ace75f64 x11: fix undefined behavior when copying the coordinates of ptr movements actions
Left shift of a negative integer. For some reason the protocol
representation here got really botched (in the spec it is just a nice
and simple INT16).

Signed-off-by: Ran Benita <ran234@gmail.com>
2018-08-18 14:58:03 +03:00
Ran Benita f8134c8503 Bump version to 0.8.2
Signed-off-by: Ran Benita <ran234@gmail.com>
2018-08-05 08:55:39 +03:00
Ran Benita e3f9c1b4cf Update NEWS
Signed-off-by: Ran Benita <ran234@gmail.com>
2018-08-05 08:55:39 +03:00
Ran Benita a3e110d605
Merge pull request #67 from fooishbar/fix-more-fuzz
Fix more fuzz-testing fallout
2018-08-05 08:45:19 +03:00
Daniel Stone bb4909d2d8 Fail expression lookup on invalid atoms
If we fail atom lookup, then we should not claim that we successfully
looked up the expression.

Signed-off-by: Daniel Stone <daniels@collabora.com>
2018-08-03 16:24:50 +01:00
Daniel Stone 5440aaa522 Fix signed vs. unsigned confusion in name sanitisation
Don't try to divide through a signed char when indexing an array, lest
ye try to index off the start of it.

Signed-off-by: Daniel Stone <daniels@collabora.com>
2018-08-03 16:17:10 +01:00
Daniel Stone 4fcbc47059 darray: Don't call memcpy() on NULL
The only time we could ever hit this was with count == 0, which seems
unnecessarily pedantic. But OK.

Signed-off-by: Daniel Stone <daniels@collabora.com>
2018-08-03 16:15:49 +01:00
Daniel Stone ae7856db48 text: NULL-terminate SI mask names
The list should have a NULL sentry. Add one.

testcase: 'interpret KP_Delete+AnyOfOrNaneo(ll)'

Signed-off-by: Daniel Stone <daniels@collabora.com>
2018-08-03 16:15:48 +01:00
Daniel Stone 38e1766bc6 xkbcomp: Don't falsely promise from ExprResolveLhs
Every user of ExprReturnLhs goes on to unconditionally dereference the
field return, which can be NULL if xkb_intern_atom fails. Return false
if this is the case, so we fail safely.

testcase: splice geometry data into interp

Signed-off-by: Daniel Stone <daniels@collabora.com>
2018-08-03 16:14:16 +01:00
Daniel Stone 4e2ee9c3f6 xkbcomp: Don't explode on invalid virtual modifiers
testcase: 'virtualModifiers=LevelThreC'

Signed-off-by: Daniel Stone <daniels@collabora.com>
2018-08-03 16:14:16 +01:00
Daniel Stone 96df3106d4 xkbcomp: Don't crash on no-op modmask expressions
If we have an expression of the form 'l1' in an interp section, we
unconditionally try to dereference its args, even if it has none.

Signed-off-by: Daniel Stone <daniels@collabora.com>
2018-08-03 16:13:35 +01:00