From eab705ef05a02f7bd71b537929f223361b375a20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Deuc=D0=B5?= <shurd@sasktel.net> Date: Sun, 13 Oct 2024 13:00:01 -0400 Subject: [PATCH] Quit video subsystem from video thread. Some SDL targets (like Haiku) have issues doing video calls from threads other than the video thread. --- src/conio/sdl_con.c | 6 +++++- src/syncterm/CHANGES | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/conio/sdl_con.c b/src/conio/sdl_con.c index 38493d1df3..6eee6e9947 100644 --- a/src/conio/sdl_con.c +++ b/src/conio/sdl_con.c @@ -1036,8 +1036,10 @@ void sdl_video_event_thread(void *data) else { if (sdl_init_good) sdl_add_key(CIO_KEY_QUIT, &cvstat); - else + else { + sdl.QuitSubSystem(SDL_INIT_VIDEO); return; + } } break; case SDL_WINDOWEVENT: @@ -1076,6 +1078,7 @@ void sdl_video_event_thread(void *data) sdl_ufunc_retval=0; if (ciolib_reaper) exit(0); + sdl.QuitSubSystem(SDL_INIT_VIDEO); sem_post(&sdl_ufunc_ret); return; case SDL_USEREVENT_FLUSH: @@ -1285,6 +1288,7 @@ void sdl_video_event_thread(void *data) break; } } + sdl.QuitSubSystem(SDL_INIT_VIDEO); return; } diff --git a/src/syncterm/CHANGES b/src/syncterm/CHANGES index 14ad19388b..8b333bf93f 100644 --- a/src/syncterm/CHANGES +++ b/src/syncterm/CHANGES @@ -1,6 +1,7 @@ Version 1.2rc3 -------------- Get Haiku support building again +Properly quit video subsystem from video thread - fixes Haiku crash Version 1.2rc2 -------------- -- GitLab