From cd079175fbdfbcd5260af3ee853f8cc853fd9b40 Mon Sep 17 00:00:00 2001 From: Rudolf Polzer Date: Wed, 1 Dec 2010 09:02:53 +0100 Subject: [PATCH] fix a possible bug with player stats when they are NOT enabled --- qcsrc/server/g_world.qc | 2 +- qcsrc/server/playerstats.qc | 11 ++++++----- qcsrc/server/playerstats.qh | 2 +- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/qcsrc/server/g_world.qc b/qcsrc/server/g_world.qc index 1b9596909..29ebeb315 100644 --- a/qcsrc/server/g_world.qc +++ b/qcsrc/server/g_world.qc @@ -2727,7 +2727,7 @@ void MapVote_Start() return; // wait for stats to be sent first - if(!playerstats_sent) + if(!playerstats_waitforme) return; MapInfo_Enumerate(); diff --git a/qcsrc/server/playerstats.qc b/qcsrc/server/playerstats.qc index 7da57f2c2..829fe5767 100644 --- a/qcsrc/server/playerstats.qc +++ b/qcsrc/server/playerstats.qc @@ -7,13 +7,14 @@ float playerstats_requested; void PlayerStats_Init() { string uri; - playerstats_sent = TRUE; + playerstats_db = -1; + playerstats_waitforme = TRUE; uri = cvar_string("g_playerstats_uri"); if(uri == "") return; playerstats_db = db_create(); if(playerstats_db >= 0) - playerstats_sent = FALSE; // must wait for it at match end + playerstats_waitforme = FALSE; // must wait for it at match end PlayerStats_AddEvent(PLAYERSTATS_ALIVETIME); PlayerStats_AddEvent(PLAYERSTATS_KILLS); @@ -81,7 +82,7 @@ void PlayerStats_Event(entity e, string event_id, float value) void PlayerStats_Sent_URI_Get_Callback(float id, float status, string data) { if(playerstats_requested) - playerstats_sent = TRUE; + playerstats_waitforme = TRUE; } void PlayerStats_Shutdown() @@ -126,12 +127,12 @@ void PlayerStats_Shutdown() if(crypto_uri_postbuf(uri, URI_GET_PLAYERSTATS_SENT, "text/plain", "\n", b, 0)) playerstats_requested = TRUE; else - playerstats_sent = TRUE; // if posting fails, we must continue anyway + playerstats_waitforme = TRUE; // if posting fails, we must continue anyway buf_del(b); } else - playerstats_sent = TRUE; + playerstats_waitforme = TRUE; db_close(playerstats_db); playerstats_db = -1; diff --git a/qcsrc/server/playerstats.qh b/qcsrc/server/playerstats.qh index b7b425f29..fea546a12 100644 --- a/qcsrc/server/playerstats.qh +++ b/qcsrc/server/playerstats.qh @@ -3,7 +3,7 @@ string PLAYERSTATS_ALIVETIME = "alivetime"; string PLAYERSTATS_KILLS = "kills"; // delay map switch until this is set -float playerstats_sent; +float playerstats_waitforme; // call at initialization void PlayerStats_Init(); -- 2.39.2