From 7b09cd34dbcf4571f1716c91b1e92372de566f66 Mon Sep 17 00:00:00 2001 From: radius Date: Sun, 6 Aug 2017 19:55:44 -0500 Subject: [PATCH] fix #5257 --- command.c | 3 ++- input/input_remapping.c | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/command.c b/command.c index 981100b122..878a24f211 100644 --- a/command.c +++ b/command.c @@ -1291,7 +1291,8 @@ static void command_event_restore_default_shader_preset(void) static void command_event_restore_remaps(void) { - input_remapping_set_defaults(); + if (rarch_ctl(RARCH_CTL_IS_REMAPS_GAME_ACTIVE, NULL)) + input_remapping_set_defaults(); } static bool command_event_save_auto_state(void) diff --git a/input/input_remapping.c b/input/input_remapping.c index bb5ffa6969..4f1924a3e3 100644 --- a/input/input_remapping.c +++ b/input/input_remapping.c @@ -213,7 +213,10 @@ void input_remapping_set_defaults(void) } for (j = 0; j < 4; j++) settings->uints.input_remap_ids[i][RARCH_FIRST_CUSTOM_BIND + j] = j; - settings->uints.input_analog_dpad_mode[i] = old_analog_dpad_mode[i]; - settings->uints.input_libretro_device[i] = old_libretro_device[i]; + + if (old_analog_dpad_mode[i]) + settings->uints.input_analog_dpad_mode[i] = old_analog_dpad_mode[i]; + if (old_libretro_device[i]) + settings->uints.input_libretro_device[i] = old_libretro_device[i]; } }