diff --git a/app/xkbcomp/ChangeLog b/app/xkbcomp/ChangeLog index 7c223087f..ce9d2757c 100644 --- a/app/xkbcomp/ChangeLog +++ b/app/xkbcomp/ChangeLog @@ -1,3 +1,71 @@ +commit f909259b1da70bc145f19e5ce595c8e945a2a808 +Author: Peter Hutterer +Date: Thu Nov 5 12:19:22 2015 +1000 + + xkbcomp 1.3.1 + + Signed-off-by: Peter Hutterer + +commit 26d1c57a938ce5c0d4fd9d645ace25308e6a7070 +Author: Peter Hutterer +Date: Tue Nov 3 09:01:19 2015 +1000 + + symbols: increase the warning level for shortening a key type + + Any use of the german keyboard layout or anything else using + level3(ralt_switch) produces the warning + Type "ONE_LEVEL" has 1 levels, but has 2 symbols + Ignoring extra symbols + This warning is meaningless, the default definition for RALT comes from + pc(pc105) including altwin(meta_alt) which defines it as TWO_LEVEL + and { Alt_R, Meta_R }. Including level3(ralt_switch) correctly sets it as + ONE_LEVEL but now we get the warning. That makes users file bug reports and we + can't be having that, can we? + + Up the warning level for this case to one past the default. The warning is + only useful when you're testing a new keyboard layout or trying to fix an + actual bug with missing symbols. And then you can run xkbcomp with -w10. + No need to spam the log on every server startup. + + Signed-off-by: Peter Hutterer + Reviewed-by: Hans de Goede + +commit 511adde23a0518db0379b444580b63edcb9138a8 +Author: Matthew Green +Date: Tue Jul 28 17:53:48 2015 +0200 + + Adjust a NUL-string assignment to avoid const issues. + + Signed-off-by: Thomas Klausner + Signed-off-by: Peter Hutterer + +commit 1ae525b3d236b59e6437b2b5433d460e18370973 +Author: Jon TURNEY +Date: Tue Mar 17 15:19:10 2015 +0000 + + Define WIN32_LEAN_AND_MEAN when building on Win32 + + w32api/rpcnndr.h (included by windows.h) uses TypeString as the name of a structure member. + + xkbcomp.h defines it as a macro for a constant. + + Define WIN32_LEAN_AND_MEAN to avoid this clash. + + Signed-off-by: Jon TURNEY + Reviewed-by: David Macek + +commit fc3e6ddb2c8e922ea80f2dc5cbc1df2102e30d99 +Author: Alan Coopersmith +Date: Tue Mar 3 16:24:50 2015 -0800 + + Stop including in parseutils.c + + I can not find any point in our git history at which alloca() or the + Xalloca.h macros ALLOCATE_LOCAL() & DEALLOCATE_LOCAL() were actually + used in this source file. + + Signed-off-by: Alan Coopersmith + commit 1e8ee9d0aad072f04186df84752f5636340574e0 Author: Peter Hutterer Date: Fri Nov 21 08:18:41 2014 +1000 diff --git a/app/xkbcomp/configure b/app/xkbcomp/configure index d33f87918..62262d7f3 100644 --- a/app/xkbcomp/configure +++ b/app/xkbcomp/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for xkbcomp 1.3.0. +# Generated by GNU Autoconf 2.69 for xkbcomp 1.3.1. # # Report bugs to . # @@ -581,8 +581,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='xkbcomp' PACKAGE_TARNAME='xkbcomp' -PACKAGE_VERSION='1.3.0' -PACKAGE_STRING='xkbcomp 1.3.0' +PACKAGE_VERSION='1.3.1' +PACKAGE_STRING='xkbcomp 1.3.1' PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg' PACKAGE_URL='' @@ -1315,7 +1315,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures xkbcomp 1.3.0 to adapt to many kinds of systems. +\`configure' configures xkbcomp 1.3.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1385,7 +1385,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of xkbcomp 1.3.0:";; + short | recursive ) echo "Configuration of xkbcomp 1.3.1:";; esac cat <<\_ACEOF @@ -1504,7 +1504,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -xkbcomp configure 1.3.0 +xkbcomp configure 1.3.1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1828,7 +1828,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by xkbcomp $as_me 1.3.0, which was +It was created by xkbcomp $as_me 1.3.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2657,7 +2657,7 @@ fi # Define the identity of the package. PACKAGE='xkbcomp' - VERSION='1.3.0' + VERSION='1.3.1' cat >>confdefs.h <<_ACEOF @@ -11166,7 +11166,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by xkbcomp $as_me 1.3.0, which was +This file was extended by xkbcomp $as_me 1.3.1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -11232,7 +11232,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -xkbcomp config.status 1.3.0 +xkbcomp config.status 1.3.1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/app/xkbcomp/configure.ac b/app/xkbcomp/configure.ac index 8937d84b0..0c8063e41 100644 --- a/app/xkbcomp/configure.ac +++ b/app/xkbcomp/configure.ac @@ -22,7 +22,7 @@ dnl Process this file with autoconf to create configure. # Initialize Autoconf AC_PREREQ([2.60]) -AC_INIT([xkbcomp], [1.3.0], +AC_INIT([xkbcomp], [1.3.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xkbcomp]) AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_HEADERS([config.h]) diff --git a/app/xkbcomp/expr.c b/app/xkbcomp/expr.c index e0f957c15..841ab0712 100644 --- a/app/xkbcomp/expr.c +++ b/app/xkbcomp/expr.c @@ -729,8 +729,8 @@ ExprResolveString(ExprDef * expr, val_rtrn->str = XkbAtomGetString(NULL, expr->value.str); if (val_rtrn->str == NULL) { - static const char *empty = ""; - val_rtrn->str = empty; + static char empty_char = '\0'; + val_rtrn->str = &empty_char; } return True; case ExprIdent: diff --git a/app/xkbcomp/listing.c b/app/xkbcomp/listing.c index 945f7f6ca..322cbf240 100644 --- a/app/xkbcomp/listing.c +++ b/app/xkbcomp/listing.c @@ -108,6 +108,7 @@ SOFTWARE. #endif #ifdef WIN32 +# define WIN32_LEAN_AND_MEAN # include # define FileName(file) file.cFileName # undef TEXT diff --git a/app/xkbcomp/parseutils.c b/app/xkbcomp/parseutils.c index c08353dd4..5f9f6a45e 100644 --- a/app/xkbcomp/parseutils.c +++ b/app/xkbcomp/parseutils.c @@ -29,7 +29,6 @@ #include "xkbpath.h" #include #include -#include #include #include diff --git a/app/xkbcomp/symbols.c b/app/xkbcomp/symbols.c index d43ba9ffb..3fe01959f 100644 --- a/app/xkbcomp/symbols.c +++ b/app/xkbcomp/symbols.c @@ -339,18 +339,19 @@ MergeKeyGroups(SymbolsInfo * info, clobber = (from->defs.merge != MergeAugment); report = (warningLevel > 9) || ((into->defs.fileID == from->defs.fileID) && (warningLevel > 0)); - if (into->numLevels[group] >= from->numLevels[group]) - { - resultSyms = into->syms[group]; - resultActs = into->acts[group]; - resultWidth = into->numLevels[group]; - } - else + if ((from->numLevels[group] > into->numLevels[group]) + || (clobber && (from->types[group] != None))) { resultSyms = from->syms[group]; resultActs = from->acts[group]; resultWidth = from->numLevels[group]; } + else + { + resultSyms = into->syms[group]; + resultActs = into->acts[group]; + resultWidth = into->numLevels[group]; + } if (resultSyms == NULL) { resultSyms = uTypedCalloc(resultWidth, KeySym); @@ -2030,7 +2031,7 @@ CopySymbolsDef(XkbFileInfo * result, KeyInfo * key, int start_from) type = &xkb->map->types[types[i]]; if (type->num_levels < key->numLevels[i]) { - if (warningLevel > 0) + if (warningLevel > 5) { WARN4 ("Type \"%s\" has %d levels, but %s has %d symbols\n",