# HG changeset patch # User Michael Pavone # Date 1750390440 25200 # Node ID 84771c6e31c5f4ebdb3e0fac29480d164b6b9d31 # Parent a6a27d4aa8abef57d0d1aef7e6b6ca3844806968 Allow keybinds to still fire for debug windows with no Nuklear UI diff -r a6a27d4aa8ab -r 84771c6e31c5 render_sdl.c --- a/render_sdl.c Thu Jun 19 20:24:14 2025 -0700 +++ b/render_sdl.c Thu Jun 19 20:34:00 2025 -0700 @@ -958,19 +958,30 @@ return ui * ui_scale_y + 0.5f; } +static uint8_t has_event_handler(SDL_Window *win) +{ + for (uint8_t i = 0; i < num_extras; i++) + { + if (extras[i].win == win) { + return extras[i].on_event != NULL; + } + } + return 0; +} + static int32_t handle_event(SDL_Event *event) { SDL_Window *event_win = NULL; switch (event->type) { case SDL_KEYDOWN: event_win = SDL_GetWindowFromID(event->key.windowID); - if (event_win == main_window) { + if (event_win == main_window || !has_event_handler(event_win)) { handle_keydown(event->key.keysym.sym, scancode_map[event->key.keysym.scancode]); } break; case SDL_KEYUP: event_win = SDL_GetWindowFromID(event->key.windowID); - if (event_win == main_window) { + if (event_win == main_window || !has_event_handler(event_win)) { handle_keyup(event->key.keysym.sym, scancode_map[event->key.keysym.scancode]); } break;