Newer
Older
minerva / Ports / gltron / patches / 0003-System-Make-sure-to-exit-the-loop-on-receiving-SDL_Q.patch
@minerva minerva on 13 Jul 964 bytes Initial commit
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jelle Raaijmakers <jelle@gmta.nl>
Date: Tue, 25 Apr 2023 17:53:50 +0200
Subject: [PATCH] System: Make sure to exit the loop on receiving SDL_QUIT

This is fixed in more modern adaptations, as can be seen here:

https://github.com/laanwj/gltron/blob/336dbbb75afe0aed1d9faaa5bbaa867b2b13d10b/nebu/base/system.c#L135

Since we work with the original source material, we better patch this
ourselves.
---
 nebu/base/system.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/nebu/base/system.c b/nebu/base/system.c
index 07a75e7b069a73a203950a4f0d0a8a345f76518a..794848e91cb22d1099d5a61e2e01974dde69861e 100644
--- a/nebu/base/system.c
+++ b/nebu/base/system.c
@@ -37,6 +37,8 @@ int SystemMainLoop() {
 				break;
 			case SDL_QUIT:
 				SystemExit();
+				// status 10 is the only way to break free from main.lua
+				SystemExitLoop(10);
 				break;
 			default:
 				/* ignore event */