diff --git a/gfx/common/egl_common.c b/gfx/common/egl_common.c index 2c8e2ba209..4d99bf99b8 100644 --- a/gfx/common/egl_common.c +++ b/gfx/common/egl_common.c @@ -172,6 +172,7 @@ void egl_get_video_size(void *data, unsigned *width, unsigned *height) static void egl_sighandler(int sig) { (void)sig; + if (g_egl_quit) exit(1); g_egl_quit = 1; } diff --git a/gfx/common/x11_common.c b/gfx/common/x11_common.c index 87b1051299..9f1861fd0f 100644 --- a/gfx/common/x11_common.c +++ b/gfx/common/x11_common.c @@ -504,6 +504,7 @@ bool x11_has_focus(void *data) static void x11_sighandler(int sig) { (void)sig; + if (g_x11_quit) exit(1); g_x11_quit = 1; } diff --git a/gfx/drivers_context/drm_ctx.c b/gfx/drivers_context/drm_ctx.c index b6d2af75b1..86faf5ef79 100644 --- a/gfx/drivers_context/drm_ctx.c +++ b/gfx/drivers_context/drm_ctx.c @@ -91,6 +91,7 @@ struct drm_fb static void drm_sighandler(int sig) { (void)sig; + if (drm_quit) exit(1); drm_quit = 1; } diff --git a/gfx/drivers_context/wayland_ctx.c b/gfx/drivers_context/wayland_ctx.c index 7b8954db18..b02c739c8f 100644 --- a/gfx/drivers_context/wayland_ctx.c +++ b/gfx/drivers_context/wayland_ctx.c @@ -83,6 +83,7 @@ static enum gfx_ctx_api wl_api; static void wl_sighandler(int sig) { (void)sig; + if (wl_quit) exit(1); wl_quit = 1; }