From 2e9a7d2f0b992a0b8c12d028e4835c2d59fba227 Mon Sep 17 00:00:00 2001 From: Sam Clegg Date: Tue, 13 Feb 2024 14:17:05 -0800 Subject: [PATCH] Update SDL2 version from 2.24.2 to 2.26.0 This is just a minor update to see if its any better than #20268 --- test/browser/test_sdl2_key.c | 14 +++++++------- test/browser/test_sdl2_mouse.c | 6 ++++-- test/browser/test_sdl2_pumpevents.c | 6 +++--- test/test_browser.py | 14 +++++++------- tools/ports/sdl2.py | 4 ++-- 5 files changed, 23 insertions(+), 21 deletions(-) diff --git a/test/browser/test_sdl2_key.c b/test/browser/test_sdl2_key.c index 4c9457ac28416..52b7fa4b9124a 100644 --- a/test/browser/test_sdl2_key.c +++ b/test/browser/test_sdl2_key.c @@ -62,13 +62,13 @@ int main(int argc, char **argv) { SDL_StartTextInput(); - emscripten_run_script("keydown(38);keyup(38)"); // up - emscripten_run_script("keydown(40);keyup(40);"); // down - emscripten_run_script("keydown(37);keyup(37);"); // left - emscripten_run_script("keydown(39);keyup(39);"); // right - emscripten_run_script("keydown(65);keyup(65);"); // a - emscripten_run_script("keydown(66);keyup(66);"); // b - emscripten_run_script("keydown(100);keyup(100);"); // trigger the end + emscripten_run_script("keydown(38, 'ArrowUp'); keyup(38, 'ArrowUp')"); // up + emscripten_run_script("keydown(40, 'ArrowDown'); keyup(40, 'ArrowDown')"); // down + emscripten_run_script("keydown(37, 'ArrowLeft'); keyup(37, 'ArrowLeft');"); // left + emscripten_run_script("keydown(39, 'ArrowRight');keyup(39, 'ArrowRight');"); // right + emscripten_run_script("keydown(65, 'KeyA'); keyup(65, 'KeyA');"); // a + emscripten_run_script("keydown(66, 'KeyB'); keyup(66, 'KeyB');"); // b + emscripten_run_script("keydown(100, 'Numpad4'); keyup(100, 'Numpad4');"); // trigger the end emscripten_set_main_loop(pump_events, 3, 0); return 99; diff --git a/test/browser/test_sdl2_mouse.c b/test/browser/test_sdl2_mouse.c index 1aefcaa339c8f..52cc6248e33d8 100644 --- a/test/browser/test_sdl2_mouse.c +++ b/test/browser/test_sdl2_mouse.c @@ -25,10 +25,12 @@ void one() { printf("motion : %d,%d %d,%d\n", m->x, m->y, m->xrel, m->yrel); if (mouse_motions == 0) { + // Starting with SDL 2.26.0 initial xrel and yrel values are zero + // See: https://github.com/libsdl-org/SDL/commit/0e61c106 #ifdef TEST_SDL_MOUSE_OFFSETS - assert(eq(m->x, 5) && eq(m->y, 15) && eq(m->xrel, 5) && eq(m->yrel, 15)); + assert(eq(m->x, 5) && eq(m->y, 15) && eq(m->xrel, 0) && eq(m->yrel, 0)); #else - assert(eq(m->x, 10) && eq(m->y, 20) && eq(m->xrel, 10) && eq(m->yrel, 20)); + assert(eq(m->x, 10) && eq(m->y, 20) && eq(m->xrel, 0) && eq(m->yrel, 0)); #endif } else if (mouse_motions == 1) { #ifdef TEST_SDL_MOUSE_OFFSETS diff --git a/test/browser/test_sdl2_pumpevents.c b/test/browser/test_sdl2_pumpevents.c index 584a2611e7629..55cfbd602894f 100644 --- a/test/browser/test_sdl2_pumpevents.c +++ b/test/browser/test_sdl2_pumpevents.c @@ -56,11 +56,11 @@ int main(int argc, char *argv[]) SDL_Window *window; SDL_CreateWindow("window", 0, 0, 600, 450, 0); - emscripten_run_script("keydown(37);"); // left + emscripten_run_script("keydown(37, 'ArrowLeft');"); // left loop1(); - emscripten_run_script("keydown(39);"); // right + emscripten_run_script("keydown(39, 'ArrowRight');"); // right loop2(); - emscripten_run_script("keydown(65);"); // A + emscripten_run_script("keydown(65, 'KeyA');"); // A alphakey(); return 0; } diff --git a/test/test_browser.py b/test/test_browser.py index fd93ea41fe987..c18065a8a1b40 100644 --- a/test/test_browser.py +++ b/test/test_browser.py @@ -3054,19 +3054,19 @@ def test_sdl2_image_formats(self): @no_wasm64('SDL2 + wasm64') def test_sdl2_key(self): create_file('pre.js', ''' - function keydown(c) { - var event = new KeyboardEvent("keydown", { 'keyCode': c, 'charCode': c, 'view': window, 'bubbles': true, 'cancelable': true }); + function keydown(keyCode, code) { + var event = new KeyboardEvent("keydown", { keyCode, code, charCode: keyCode, 'view': window, 'bubbles': true, 'cancelable': true }); var prevented = !document.dispatchEvent(event); //send keypress if not prevented if (!prevented) { - var event = new KeyboardEvent("keypress", { 'keyCode': c, 'charCode': c, 'view': window, 'bubbles': true, 'cancelable': true }); + var event = new KeyboardEvent("keypress", { keyCode, code, charCode: keyCode, 'view': window, 'bubbles': true, 'cancelable': true }); document.dispatchEvent(event); } } - function keyup(c) { - var event = new KeyboardEvent("keyup", { 'keyCode': c, 'charCode': c, 'view': window, 'bubbles': true, 'cancelable': true }); + function keyup(keyCode, code) { + var event = new KeyboardEvent("keyup", { keyCode, code, charCode: keyCode, 'view': window, 'bubbles': true, 'cancelable': true }); document.dispatchEvent(event); } ''') @@ -3281,8 +3281,8 @@ def test_sdl2_canvas_proxy(self): def test_sdl2_pumpevents(self): # key events should be detected using SDL_PumpEvents create_file('pre.js', ''' - function keydown(c) { - var event = new KeyboardEvent("keydown", { 'keyCode': c, 'charCode': c, 'view': window, 'bubbles': true, 'cancelable': true }); + function keydown(keyCode, code) { + var event = new KeyboardEvent("keydown", { keyCode, code, charCode: keyCode, 'view': window, 'bubbles': true, 'cancelable': true }); document.dispatchEvent(event); } ''') diff --git a/tools/ports/sdl2.py b/tools/ports/sdl2.py index 5dd039b139ff2..a14c464644546 100644 --- a/tools/ports/sdl2.py +++ b/tools/ports/sdl2.py @@ -5,8 +5,8 @@ import os -TAG = 'release-2.24.2' -HASH = 'b178bdc8f7c40271e09a72f639649d1d61953dda4dc12b77437259667b63b961fd3b2c67b0de6fdc5f9f9c80c49bfafd164e4c13715bc1056e550acc8bad5a3c' +TAG = 'release-2.26.0' +HASH = '2e53af5aa3d3ca7e2b8653f999379bf424b2190aad32a7997350fc058624818cca3a780907af74c8f72305ca18a83a2aa15839e1dbc94107128125a7df9cd7fd' SUBDIR = 'SDL-' + TAG variants = {'sdl2-mt': {'PTHREADS': 1}}