aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--code/client/cl_main.c4
-rw-r--r--code/client/cl_scrn.c29
2 files changed, 17 insertions, 16 deletions
diff --git a/code/client/cl_main.c b/code/client/cl_main.c
index ea9e0c9..211907e 100644
--- a/code/client/cl_main.c
+++ b/code/client/cl_main.c
@@ -778,10 +778,6 @@ void CL_MapLoading( void ) {
Q_strncpyz( cls.servername, "localhost", sizeof(cls.servername) );
cls.state = CA_CHALLENGING; // so the connect screen is drawn
Key_SetCatcher( 0 );
- /* Execute next line twice, so that the connect image gets written into both, front- and
- * back buffer. This is necessary to prevent a flashing screen on map startup, as the UI gets
- * killed for a short time and cannot update the screen. */
- SCR_UpdateScreen();
SCR_UpdateScreen();
clc.connectTime = -RETRANSMIT_TIMEOUT;
NET_StringToAdr( cls.servername, &clc.serverAddress);
diff --git a/code/client/cl_scrn.c b/code/client/cl_scrn.c
index a24984b..b7ab529 100644
--- a/code/client/cl_scrn.c
+++ b/code/client/cl_scrn.c
@@ -523,20 +523,25 @@ void SCR_UpdateScreen( void ) {
}
recursive = 1;
- // if running in stereo, we need to draw the frame twice
- if ( cls.glconfig.stereoEnabled ) {
- SCR_DrawScreenField( STEREO_LEFT );
- SCR_DrawScreenField( STEREO_RIGHT );
- } else {
- SCR_DrawScreenField( STEREO_CENTER );
- }
+ /* If there is no VM, there are also no rendering commands issued. Stop the renderer in
+ * that case. */
+ if(uivm)
+ {
+ // if running in stereo, we need to draw the frame twice
+ if ( cls.glconfig.stereoEnabled ) {
+ SCR_DrawScreenField( STEREO_LEFT );
+ SCR_DrawScreenField( STEREO_RIGHT );
+ } else {
+ SCR_DrawScreenField( STEREO_CENTER );
+ }
- if ( com_speeds->integer ) {
- re.EndFrame( &time_frontend, &time_backend );
- } else {
- re.EndFrame( NULL, NULL );
+ if ( com_speeds->integer ) {
+ re.EndFrame( &time_frontend, &time_backend );
+ } else {
+ re.EndFrame( NULL, NULL );
+ }
}
-
+
recursive = 0;
}