summaryrefslogtreecommitdiff
path: root/src/cl_main.c
diff options
context:
space:
mode:
authorAndrey Nazarov <skuller@skuller.net>2011-03-24 16:32:44 +0300
committerAndrey Nazarov <skuller@skuller.net>2011-03-24 16:37:13 +0300
commit2cf4b35d38b04c4309816ab166903eaec9486a82 (patch)
tree1a8d5fd5423c7e7fbd8482eff74e587ada68e422 /src/cl_main.c
parent47aca9f0536a7f4b84ce0f34ec5ec57cd6030cf3 (diff)
Free netchan before stopping the demo.
Prevent useless client setting message from being generated.
Diffstat (limited to 'src/cl_main.c')
-rw-r--r--src/cl_main.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/src/cl_main.c b/src/cl_main.c
index 24b4149..4a8adc8 100644
--- a/src/cl_main.c
+++ b/src/cl_main.c
@@ -648,6 +648,19 @@ void CL_Disconnect( error_type_t type ) {
cls.errorReceived = qfalse;
#endif
+ if( cls.netchan ) {
+ // send a disconnect message to the server
+ MSG_WriteByte( clc_stringcmd );
+ MSG_WriteData( "disconnect", 11 );
+
+ cls.netchan->Transmit( cls.netchan, msg_write.cursize, msg_write.data, 3 );
+
+ SZ_Clear( &msg_write );
+
+ Netchan_Close( cls.netchan );
+ cls.netchan = NULL;
+ }
+
// stop demo
if( cls.demo.recording ) {
CL_Stop_f();
@@ -668,19 +681,6 @@ void CL_Disconnect( error_type_t type ) {
memset( &cls.demo, 0, sizeof( cls.demo ) );
- if( cls.netchan ) {
- // send a disconnect message to the server
- MSG_WriteByte( clc_stringcmd );
- MSG_WriteData( "disconnect", 11 );
-
- cls.netchan->Transmit( cls.netchan, msg_write.cursize, msg_write.data, 3 );
-
- SZ_Clear( &msg_write );
-
- Netchan_Close( cls.netchan );
- cls.netchan = NULL;
- }
-
// stop download
CL_CleanupDownloads();