about summary refs log tree commit diff
diff options
context:
space:
mode:
authoroy <Tom_Adams@web.de>2010-11-21 01:10:25 +0100
committeroy <Tom_Adams@web.de>2010-11-21 01:10:25 +0100
commite7e2501d1b66d76721b3b78a780e19f52da78385 (patch)
treefe77eabe96bafb2a5cff9bf9d73b8774c43577a8
parentf62a1c3818d80885ab5737c78f2b22c28d7bdec7 (diff)
downloadzcatch-e7e2501d1b66d76721b3b78a780e19f52da78385.tar.gz
zcatch-e7e2501d1b66d76721b3b78a780e19f52da78385.zip
close map-download-file if the map changes during downloading
-rw-r--r--src/engine/client/client.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/engine/client/client.cpp b/src/engine/client/client.cpp
index 9ee79607..7cd61b9b 100644
--- a/src/engine/client/client.cpp
+++ b/src/engine/client/client.cpp
@@ -991,6 +991,8 @@ void CClient::ProcessPacket(CNetChunk *pPacket)
 
 						m_MapdownloadChunk = 0;
 						str_copy(m_aMapdownloadName, pMap, sizeof(m_aMapdownloadName));
+						if(m_MapdownloadFile)
+							io_close(m_MapdownloadFile);
 						m_MapdownloadFile = Storage()->OpenFile(m_aMapdownloadFilename, IOFLAG_WRITE, IStorage::TYPE_SAVE);
 						m_MapdownloadCrc = MapCrc;
 						m_MapdownloadTotalsize = -1;
@@ -1029,7 +1031,8 @@ void CClient::ProcessPacket(CNetChunk *pPacket)
 					const char *pError;
 					m_pConsole->Print(IConsole::OUTPUT_LEVEL_ADDINFO, "client/network", "download complete, loading map");
 
-					io_close(m_MapdownloadFile);
+					if(m_MapdownloadFile)
+						io_close(m_MapdownloadFile);
 					m_MapdownloadFile = 0;
 					m_MapdownloadAmount = 0;
 					m_MapdownloadTotalsize = -1;