Skip to content
Snippets Groups Projects
Commit f0e015a3 authored by Jan Alexander Steffens (heftig)'s avatar Jan Alexander Steffens (heftig)
Browse files

1.2.0-2: FS#70293

parent 0c36a5e5
No related branches found
No related tags found
No related merge requests found
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Ran Benita <ran@unusedvar.com>
Date: Wed, 7 Apr 2021 10:47:15 +0300
Subject: [PATCH] x11: fix xkb_x11_keymap_new_from_device failing when a level
name is empty
The numpad:mac option doesn't specify a name for the first level:
// On Mac keypads, level 1 and 2 are swapped.
partial xkb_types "mac" {
type "KEYPAD" {
modifiers = None;
map[None] = Level2;
level_name[Level2] = "Number";
};
include "extra(keypad)"
};
This means the atom for level name is XCB_ATOM_NONE. We tried to get its
name, which fails. This regressed in 40c00b472144d1684d2fb97cafef39.
Instead, translate it to XKB_ATOM_NONE, same as the previous behavior.
Fixes: https://github.com/xkbcommon/libxkbcommon/issues/229
Signed-off-by: Ran Benita <ran@unusedvar.com>
---
src/x11/util.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/x11/util.c b/src/x11/util.c
index c4609e4..2ea92a2 100644
--- a/src/x11/util.c
+++ b/src/x11/util.c
@@ -169,7 +169,10 @@ void
x11_atom_interner_adopt_atom(struct x11_atom_interner *interner,
const xcb_atom_t atom, xkb_atom_t *out)
{
- *out = 0;
+ *out = XKB_ATOM_NONE;
+
+ if (atom == XCB_ATOM_NONE)
+ return;
/* Can be NULL in case the malloc failed. */
struct x11_atom_cache *cache = get_cache(interner->ctx, interner->conn);
......@@ -5,7 +5,7 @@
pkgbase=libxkbcommon
pkgname=(libxkbcommon libxkbcommon-doc libxkbcommon-x11)
pkgver=1.2.0
pkgrel=1
pkgrel=2
pkgdesc="Keymap handling library for toolkits and window systems"
url="https://xkbcommon.org/"
arch=(x86_64)
......@@ -14,8 +14,10 @@ makedepends=(xkeyboard-config libxml2 libxcb wayland wayland-protocols doxygen
git meson xorgproto)
checkdepends=(xorg-server-xvfb libgl)
_commit=086353b380de05eb20519c5071354015670baad2 # tags/xkbcommon-1.2.0^0
source=("git+https://github.com/xkbcommon/libxkbcommon#commit=$_commit")
sha256sums=('SKIP')
source=("git+https://github.com/xkbcommon/libxkbcommon#commit=$_commit"
0001-x11-fix-xkb_x11_keymap_new_from_device-failing-when-.patch)
sha256sums=('SKIP'
'86e90d6150708d38a88ff7c3e25afca831170de676cbb26f08634d1996431b0a')
pkgver() {
cd $pkgbase
......@@ -24,6 +26,9 @@ pkgver() {
prepare() {
cd $pkgbase
# https://bugs.archlinux.org/task/70293
git apply -3 ../0001-x11-fix-xkb_x11_keymap_new_from_device-failing-when-.patch
}
build() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment