summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/xkbcommon/src/xkbcomp/vmod.c
diff options
context:
space:
mode:
authorGatis Paeglis <gatis.paeglis@qt.io>2018-11-16 17:07:33 +0100
committerGatis Paeglis <gatis.paeglis@qt.io>2018-11-30 09:47:03 +0000
commitc3a963da1f9e7b1d37e63eedded61da4fbdaaf9a (patch)
treeabe3ac72e69cd6e85ec3a4cfb587405151076493 /src/3rdparty/xkbcommon/src/xkbcomp/vmod.c
parent1f1dc3fc4c2e5e2d94e86dfc7235a4b762da2e72 (diff)
src/3rdparty: remove xkbcommon
The only reason why we bundled this library ~6 years ago was because it was not available on distributions that we supported at the time, but library was a hard dependency for XCB plugin. See: 2122e731abdb619249df89642c0800640b2fa428 Later more and more projects started to depend on it (compose input context plugin, libinput, mir, wayland). The configuration had become too complex, because some projects used bundled and some used the version from the system. Having libxkbcommon in 3rdparty sources is not necessary anymore, after RHEL 6.6 was removed from the list of supported platforms for Qt 5.12. Ubuntu 16.04 - 0.5.0 Ubuntu 18.04 - 0.8.0 openSUSE 42.3 - 0.6.1 RHEL-7.4 - 0.7.1 This will also simplify further development, e.g. QTBUG-42181 Bumped the minimal required version 0.4.1 -> 0.5.0. The patch also contains a code marked with "TRANSITION HACK", which is temporary needed so we can update the dependent wayland module. [ChangeLog][Third-Party Code] Removed xkbcommon from bundled sources. This library is present on all supported platforms. The minimal required version now is 0.5.0. Task-number: QTBUG-65503 Change-Id: Iec50829bb6f8fbb19f3c4e4ad62e332beb837de5 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Diffstat (limited to 'src/3rdparty/xkbcommon/src/xkbcomp/vmod.c')
-rw-r--r--src/3rdparty/xkbcommon/src/xkbcomp/vmod.c105
1 files changed, 0 insertions, 105 deletions
diff --git a/src/3rdparty/xkbcommon/src/xkbcomp/vmod.c b/src/3rdparty/xkbcommon/src/xkbcomp/vmod.c
deleted file mode 100644
index a0b029af4f..0000000000
--- a/src/3rdparty/xkbcommon/src/xkbcomp/vmod.c
+++ /dev/null
@@ -1,105 +0,0 @@
-/************************************************************
- * Copyright (c) 1994 by Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting
- * documentation, and that the name of Silicon Graphics not be
- * used in advertising or publicity pertaining to distribution
- * of the software without specific prior written permission.
- * Silicon Graphics makes no representation about the suitability
- * of this software for any purpose. It is provided "as is"
- * without any express or implied warranty.
- *
- * SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
- * GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
- * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
- * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
- * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
- * THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ********************************************************/
-
-#include "xkbcomp-priv.h"
-#include "text.h"
-#include "expr.h"
-#include "vmod.h"
-
-bool
-HandleVModDef(struct xkb_context *ctx, struct xkb_mod_set *mods,
- VModDef *stmt, enum merge_mode merge)
-{
- xkb_mod_index_t i;
- struct xkb_mod *mod;
- xkb_mod_mask_t mapping;
-
- merge = (merge == MERGE_DEFAULT ? stmt->merge : merge);
-
- if (stmt->value) {
- /*
- * This is a statement such as 'virtualModifiers NumLock = Mod1';
- * it sets the vmod-to-real-mod[s] mapping directly instead of going
- * through modifier_map or some such.
- */
- if (!ExprResolveModMask(ctx, stmt->value, MOD_REAL, mods, &mapping)) {
- log_err(ctx,
- "Declaration of %s ignored\n",
- xkb_atom_text(ctx, stmt->name));
- return false;
- }
- }
- else {
- mapping = 0;
- }
-
- xkb_mods_enumerate(i, mod, mods) {
- if (mod->name == stmt->name) {
- if (mod->type != MOD_VIRT) {
- log_err(ctx,
- "Can't add a virtual modifier named \"%s\"; "
- "there is already a non-virtual modifier with this name! Ignored\n",
- xkb_atom_text(ctx, mod->name));
- return false;
- }
-
- if (mod->mapping == mapping)
- return true;
-
- if (mod->mapping != 0) {
- xkb_mod_mask_t use, ignore;
-
- use = (merge == MERGE_OVERRIDE ? mapping : mod->mapping);
- ignore = (merge == MERGE_OVERRIDE ? mod->mapping : mapping);
-
- log_warn(ctx,
- "Virtual modifier %s defined multiple times; "
- "Using %s, ignoring %s\n",
- xkb_atom_text(ctx, stmt->name),
- ModMaskText(ctx, mods, use),
- ModMaskText(ctx, mods, ignore));
-
- mapping = use;
- }
-
- mod->mapping = mapping;
- return true;
- }
- }
-
- if (mods->num_mods >= XKB_MAX_MODS) {
- log_err(ctx,
- "Too many modifiers defined (maximum %d)\n",
- XKB_MAX_MODS);
- return false;
- }
-
- mods->mods[mods->num_mods].name = stmt->name;
- mods->mods[mods->num_mods].type = MOD_VIRT;
- mods->mods[mods->num_mods].mapping = mapping;
- mods->num_mods++;
- return true;
-}