This is an automated email from the git hooks/post-receive script.

smcv pushed a commit to annotated tag 1.42d
in repository iortcw.

commit 3ca55c3f86e6c2d2a262450fe3fd254011d5efa0
Author: m4n4t4...@gmail.com 
<m4n4t4...@gmail.com@e65d2741-a53d-b2dc-ae96-bb75fa5e4c4a>
Date:   Thu Feb 12 20:37:51 2015 +0000

    All: Fix saving window position on exit
---
 MP/code/qcommon/common.c |  4 ++++
 MP/code/sdl/sdl_glimp.c  | 13 ++++++-------
 SP/code/qcommon/common.c |  4 ++++
 SP/code/sdl/sdl_glimp.c  | 12 +++++-------
 4 files changed, 19 insertions(+), 14 deletions(-)

diff --git a/MP/code/qcommon/common.c b/MP/code/qcommon/common.c
index f35a670..54a711f 100644
--- a/MP/code/qcommon/common.c
+++ b/MP/code/qcommon/common.c
@@ -3330,6 +3330,10 @@ Com_Shutdown
 =================
 */
 void Com_Shutdown( void ) {
+
+       // write config file if anything changed
+       Com_WriteConfiguration();
+
        if ( logfile ) {
                FS_FCloseFile( logfile );
                logfile = 0;
diff --git a/MP/code/sdl/sdl_glimp.c b/MP/code/sdl/sdl_glimp.c
index 85d1f22..afd4359 100644
--- a/MP/code/sdl/sdl_glimp.c
+++ b/MP/code/sdl/sdl_glimp.c
@@ -226,6 +226,7 @@ static int GLimp_SetMode(int mode, qboolean fullscreen, 
qboolean noborder)
        Uint32 flags = SDL_WINDOW_SHOWN | SDL_WINDOW_OPENGL;
        SDL_DisplayMode desktopMode;
        int display = 0;
+       int x = SDL_WINDOWPOS_UNDEFINED, y = SDL_WINDOWPOS_UNDEFINED;
 
        ri.Printf( PRINT_ALL, "Initializing OpenGL display\n");
 
@@ -301,8 +302,6 @@ static int GLimp_SetMode(int mode, qboolean fullscreen, 
qboolean noborder)
 
        if( SDL_window != NULL )
        {
-               int x, y;
-
                SDL_GetWindowPosition( SDL_window, &x, &y );
                ri.Printf( PRINT_DEVELOPER, "Existing window at %dx%d before 
being destroyed\n", x, y );
                SDL_DestroyWindow( SDL_window );
@@ -448,24 +447,24 @@ static int GLimp_SetMode(int mode, qboolean fullscreen, 
qboolean noborder)
                                continue;
                        }
                }
-               else if ( ( r_windowPosx->integer == 0 ) && ( 
r_windowPosy->integer == 0 ) )
+               else if ( ( r_windowPosx->integer || r_windowPosy->integer ) && 
!fullscreen )
                {
-                       if( ( SDL_window = SDL_CreateWindow( 
CLIENT_WINDOW_TITLE, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED,
+                       if( ( SDL_window = SDL_CreateWindow( 
CLIENT_WINDOW_TITLE, r_windowPosx->integer, r_windowPosy->integer,
                                        glConfig.vidWidth, glConfig.vidHeight, 
flags ) ) == 0 )
                        {
                                ri.Printf( PRINT_DEVELOPER, "SDL_CreateWindow 
failed: %s\n", SDL_GetError( ) );
                                continue;
                        }
-               }
+               }
                else
                {
-                       if( ( SDL_window = SDL_CreateWindow( 
CLIENT_WINDOW_TITLE, r_windowPosx->integer, r_windowPosy->integer,
+                       if( ( SDL_window = SDL_CreateWindow( 
CLIENT_WINDOW_TITLE, x, y,
                                        glConfig.vidWidth, glConfig.vidHeight, 
flags ) ) == 0 )
                        {
                                ri.Printf( PRINT_DEVELOPER, "SDL_CreateWindow 
failed: %s\n", SDL_GetError( ) );
                                continue;
                        }
-               }
+               }
 
                if( fullscreen )
                {
diff --git a/SP/code/qcommon/common.c b/SP/code/qcommon/common.c
index 3ac7e96..34b496f 100644
--- a/SP/code/qcommon/common.c
+++ b/SP/code/qcommon/common.c
@@ -2869,6 +2869,10 @@ Com_Shutdown
 =================
 */
 void Com_Shutdown( void ) {
+
+       // write config file if anything changed
+       Com_WriteConfiguration();
+
        if ( logfile ) {
                FS_FCloseFile( logfile );
                logfile = 0;
diff --git a/SP/code/sdl/sdl_glimp.c b/SP/code/sdl/sdl_glimp.c
index 47bc503..1f3cb63 100644
--- a/SP/code/sdl/sdl_glimp.c
+++ b/SP/code/sdl/sdl_glimp.c
@@ -314,8 +314,6 @@ static int GLimp_SetMode(int mode, qboolean fullscreen, 
qboolean noborder)
 
        if( SDL_window != NULL )
        {
-               int x, y;
-
                SDL_GetWindowPosition( SDL_window, &x, &y );
                ri.Printf( PRINT_DEVELOPER, "Existing window at %dx%d before 
being destroyed\n", x, y );
                SDL_DestroyWindow( SDL_window );
@@ -462,24 +460,24 @@ static int GLimp_SetMode(int mode, qboolean fullscreen, 
qboolean noborder)
                                continue;
                        }
                }
-               else if ( ( r_windowPosx->integer == 0 ) && ( 
r_windowPosy->integer == 0 ) )
+               else if ( ( r_windowPosx->integer || r_windowPosy->integer ) && 
!fullscreen )
                {
-                       if( ( SDL_window = SDL_CreateWindow( 
CLIENT_WINDOW_TITLE, x, y,
+                       if( ( SDL_window = SDL_CreateWindow( 
CLIENT_WINDOW_TITLE, r_windowPosx->integer, r_windowPosy->integer,
                                        glConfig.vidWidth, glConfig.vidHeight, 
flags ) ) == 0 )
                        {
                                ri.Printf( PRINT_DEVELOPER, "SDL_CreateWindow 
failed: %s\n", SDL_GetError( ) );
                                continue;
                        }
-               }
+               }
                else
                {
-                       if( ( SDL_window = SDL_CreateWindow( 
CLIENT_WINDOW_TITLE, r_windowPosx->integer, r_windowPosy->integer,
+                       if( ( SDL_window = SDL_CreateWindow( 
CLIENT_WINDOW_TITLE, x, y,
                                        glConfig.vidWidth, glConfig.vidHeight, 
flags ) ) == 0 )
                        {
                                ri.Printf( PRINT_DEVELOPER, "SDL_CreateWindow 
failed: %s\n", SDL_GetError( ) );
                                continue;
                        }
-               }
+               }
 
                if( fullscreen )
                {

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-games/iortcw.git

_______________________________________________
Pkg-games-commits mailing list
Pkg-games-commits@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits

Reply via email to