From 546903ea058273aa9209bf1f802ce2b9dc53f33f Mon Sep 17 00:00:00 2001 From: Oleg Date: Sat, 8 Feb 2025 23:51:09 +0300 Subject: [PATCH] engine: platform: sdl: write windows position changes even in fullscreen --- engine/platform/sdl/events.c | 18 +++++++++--------- engine/platform/sdl/vid_sdl.c | 3 ++- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/engine/platform/sdl/events.c b/engine/platform/sdl/events.c index f24ff1b3..4b5ee6b2 100644 --- a/engine/platform/sdl/events.c +++ b/engine/platform/sdl/events.c @@ -481,16 +481,16 @@ static void SDLash_EventHandler( SDL_Event *event ) switch( event->window.event ) { case SDL_WINDOWEVENT_MOVED: - if( vid_fullscreen.value == WINDOW_MODE_WINDOWED ) + char val[32]; + + Q_snprintf( val, sizeof( val ), "%d", event->window.data1 ); + Cvar_DirectSet( &window_xpos, val ); + + Q_snprintf( val, sizeof( val ), "%d", event->window.data2 ); + Cvar_DirectSet( &window_ypos, val ); + + if ( vid_fullscreen.value == WINDOW_MODE_WINDOWED ) { - char val[32]; - - Q_snprintf( val, sizeof( val ), "%d", event->window.data1 ); - Cvar_DirectSet( &window_xpos, val ); - - Q_snprintf( val, sizeof( val ), "%d", event->window.data2 ); - Cvar_DirectSet( &window_ypos, val ); - Cvar_DirectSet( &vid_maximized, "0" ); } break; diff --git a/engine/platform/sdl/vid_sdl.c b/engine/platform/sdl/vid_sdl.c index c2d90801..d63c5204 100644 --- a/engine/platform/sdl/vid_sdl.c +++ b/engine/platform/sdl/vid_sdl.c @@ -824,7 +824,8 @@ qboolean VID_CreateWindow( int width, int height, window_mode_t window_mode ) else SetBits( wndFlags, SDL_WINDOW_FULLSCREEN_DESKTOP ); SetBits( wndFlags, SDL_WINDOW_BORDERLESS ); - xpos = ypos = SDL_WINDOWPOS_UNDEFINED; + xpos = window_xpos.value; + ypos = window_ypos.value; } if( !VID_CreateWindowWithSafeGL( wndname, xpos, ypos, width, height, wndFlags ))