From ef7a786527d5da6208ff5236f4c040972792b1c2 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sat, 2 Jan 2016 22:28:21 +0100 Subject: [PATCH] Attempt to prevent segfault when pressing Enter in DRM/KMS mode --- input/common/linux_common.c | 5 +++-- input/drivers/udev_input.c | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/input/common/linux_common.c b/input/common/linux_common.c index 89b9e38b21..e2fa845ab9 100644 --- a/input/common/linux_common.c +++ b/input/common/linux_common.c @@ -68,8 +68,6 @@ bool linux_terminal_init(void) if (tcsetattr(0, TCSAFLUSH, &newTerm) < 0) return false; - if (ioctl(0, KDSKBMODE, K_MEDIUMRAW) < 0) - return false; return true; } @@ -101,6 +99,9 @@ bool linux_terminal_disable_input(void) return false; if (!linux_terminal_init()) + return false; + + if (ioctl(0, KDSKBMODE, K_MEDIUMRAW) < 0) { linux_terminal_flush(); return false; diff --git a/input/drivers/udev_input.c b/input/drivers/udev_input.c index 22b6237c7d..e630e14743 100644 --- a/input/drivers/udev_input.c +++ b/input/drivers/udev_input.c @@ -697,6 +697,7 @@ static void *udev_input_init(void) input_keymaps_init_keyboard_lut(rarch_key_map_linux); linux_terminal_disable_input(); + return udev; error: