From eda0ac92cc3a5af7c2018b959a8a0403525b99bb Mon Sep 17 00:00:00 2001 From: Oleg Date: Sat, 8 Feb 2025 23:54:18 +0300 Subject: [PATCH] engine: platform: sdl: change behavior when window position is not set --- engine/platform/sdl/vid_sdl.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/engine/platform/sdl/vid_sdl.c b/engine/platform/sdl/vid_sdl.c index d63c52048..3c20820e8 100644 --- a/engine/platform/sdl/vid_sdl.c +++ b/engine/platform/sdl/vid_sdl.c @@ -824,8 +824,16 @@ qboolean VID_CreateWindow( int width, int height, window_mode_t window_mode ) else SetBits( wndFlags, SDL_WINDOW_FULLSCREEN_DESKTOP ); SetBits( wndFlags, SDL_WINDOW_BORDERLESS ); + if ( window_xpos.value < 0 || window_ypos.value < 0 ) + { + xpos = SDL_WINDOWPOS_UNDEFINED; + ypos = SDL_WINDOWPOS_UNDEFINED; + } + else + { xpos = window_xpos.value; ypos = window_ypos.value; + } } if( !VID_CreateWindowWithSafeGL( wndname, xpos, ypos, width, height, wndFlags )) @@ -1048,7 +1056,8 @@ qboolean R_Init_Video( const int type ) #if SDL_VERSION_ATLEAST( 2, 0, 0 ) SDL_DisplayMode displayMode; - SDL_GetCurrentDisplayMode( 0, &displayMode ); + SDL_Point point = { window_xpos.value, window_ypos.value }; + SDL_GetCurrentDisplayMode( SDL_GetPointDisplayIndex( &point ), &displayMode ); refState.desktopBitsPixel = SDL_BITSPERPIXEL( displayMode.format ); #else refState.desktopBitsPixel = 16;