diff --git a/libretro_version_1.c b/libretro_version_1.c index 95bd7730ba..039e76e98f 100644 --- a/libretro_version_1.c +++ b/libretro_version_1.c @@ -174,6 +174,12 @@ bool core_ctl(enum core_ctl_state state, void *data) switch (state) { + case CORE_CTL_SET_POLL_TYPE: + { + unsigned *poll_type = (unsigned*)data; + core.poll_type = *poll_type; + } + break; case CORE_CTL_RETRO_SYMBOLS_INIT: { enum rarch_core_type *core_type = (enum rarch_core_type*)data; diff --git a/libretro_version_1.h b/libretro_version_1.h index 131ca000f7..65d808d2f7 100644 --- a/libretro_version_1.h +++ b/libretro_version_1.h @@ -46,10 +46,13 @@ enum core_ctl_state CORE_CTL_DEINIT, + CORE_CTL_SET_CBS, CORE_CTL_SET_CBS_REWIND, + CORE_CTL_SET_POLL_TYPE, + /* Runs the core for one frame. */ CORE_CTL_RETRO_RUN, diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 552867ff90..41883da637 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -2806,7 +2806,7 @@ void general_write_handler(void *data) switch (hash) { case MENU_LABEL_INPUT_POLL_TYPE_BEHAVIOR: - core.poll_type = *setting->value.integer; + core_ctl(CORE_CTL_SET_POLL_TYPE, setting->value.integer); break; case MENU_LABEL_VIDEO_SCALE_INTEGER: {