From 18b595a7e71926cec54f9c16f1878ca19eb275dc Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 5 Apr 2024 13:10:04 +0530 Subject: [PATCH] Map keymap fd using MAP_PRIVATE as required by the spec Also report failures --- glfw/wl_init.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/glfw/wl_init.c b/glfw/wl_init.c index a88f2b7fe..4befdab82 100644 --- a/glfw/wl_init.c +++ b/glfw/wl_init.c @@ -430,13 +430,15 @@ static void keyboardHandleKeymap(void* data UNUSED, if (format != WL_KEYBOARD_KEYMAP_FORMAT_XKB_V1) { + _glfwInputError(GLFW_PLATFORM_ERROR, "Unknown keymap format: %u", format); close(fd); return; } - mapStr = mmap(NULL, size, PROT_READ, MAP_SHARED, fd, 0); + mapStr = mmap(NULL, size, PROT_READ, MAP_PRIVATE, fd, 0); if (mapStr == MAP_FAILED) { close(fd); + _glfwInputError(GLFW_PLATFORM_ERROR, "Mapping of keymap file descriptor failed: %u", format); return; } glfw_xkb_compile_keymap(&_glfw.wl.xkb, mapStr);