From 7d1fde352947ac6474bbe991c9d73a04a7d0be6d Mon Sep 17 00:00:00 2001 From: Tatsuyuki Ishi Date: Mon, 7 Aug 2017 17:43:50 +0900 Subject: [PATCH] libobs: Fix XCB keyboard mapping size calculation --- libobs/obs-nix.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libobs/obs-nix.c b/libobs/obs-nix.c index 0099b0064..7df71aae8 100644 --- a/libobs/obs-nix.c +++ b/libobs/obs-nix.c @@ -594,7 +594,7 @@ static inline bool fill_keycodes(struct obs_core_hotkeys *hotkeys) context->min_keycode = setup->min_keycode; cookie = xcb_get_keyboard_mapping(connection, - mincode, maxcode - mincode - 1); + mincode, maxcode - mincode + 1); reply = xcb_get_keyboard_mapping_reply(connection, cookie, &error); @@ -606,7 +606,7 @@ static inline bool fill_keycodes(struct obs_core_hotkeys *hotkeys) const xcb_keysym_t *keysyms = xcb_get_keyboard_mapping_keysyms(reply); int syms_per_code = (int)reply->keysyms_per_keycode; - context->num_keysyms = (maxcode - mincode) * syms_per_code; + context->num_keysyms = (maxcode - mincode + 1) * syms_per_code; context->syms_per_code = syms_per_code; context->keysyms = bmemdup(keysyms, sizeof(xcb_keysym_t) * context->num_keysyms);