diff --git a/gfx/gl.c b/gfx/gl.c index 249966e7a6..48b13c7fdd 100644 --- a/gfx/gl.c +++ b/gfx/gl.c @@ -983,12 +983,10 @@ static void gl_free(void *data) static void gl_set_nonblock_state(void *data, bool state) { - gl_t *gl = (gl_t*)data; - if (gl->vsync) - { - RARCH_LOG("GL VSync => %s\n", state ? "off" : "on"); - gfx_ctx_set_swap_interval(state ? 0 : 1, true); - } + (void)data; + + RARCH_LOG("GL VSync => %s\n", state ? "off" : "on"); + gfx_ctx_set_swap_interval(state ? 0 : 1, true); } static void *gl_init(const video_info_t *video, const input_driver_t **input, void **input_data) diff --git a/retroarch.c b/retroarch.c index 35703a2869..3db08f4da5 100644 --- a/retroarch.c +++ b/retroarch.c @@ -72,8 +72,10 @@ static void set_fast_forward_button(bool new_button_state, bool new_hold_button_ if (update_sync) { - if (g_extern.video_active) + // Only apply non-block-state for video if we're using vsync. + if (g_extern.video_active && g_settings.video.vsync) video_set_nonblock_state_func(syncing_state); + if (g_extern.audio_active) audio_set_nonblock_state_func(g_settings.audio.sync ? syncing_state : true);