diff --git a/src/video/wayland/SDL_waylandwindow.c b/src/video/wayland/SDL_waylandwindow.c index 54aff97311..756308f98d 100644 --- a/src/video/wayland/SDL_waylandwindow.c +++ b/src/video/wayland/SDL_waylandwindow.c @@ -494,9 +494,16 @@ static void FlushFullscreenEvents(SDL_Window *window) static void Wayland_move_window(SDL_Window *window) { SDL_WindowData *wind = window->driverdata; - SDL_DisplayData *display = wind->outputs[wind->num_outputs - 1]; + SDL_DisplayData *display; SDL_DisplayID *displays; + if (wind->outputs && wind->num_outputs) { + display = wind->outputs[wind->num_outputs - 1]; + } else { + /* A window may not be on any displays if minimized. */ + return; + } + displays = SDL_GetDisplays(NULL); if (displays) { for (int i = 0; displays[i]; ++i) {