summaryrefslogtreecommitdiff
path: root/src/map/clif.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/clif.c')
-rw-r--r--src/map/clif.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/map/clif.c b/src/map/clif.c
index 03f0d8db6..47640aa18 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -2164,7 +2164,8 @@ static int clif_delayquit(int tid, unsigned int tick, int id, int data) {
*/
void clif_quitsave(int fd,struct map_session_data *sd)
{
- if (chrif_isconnect() && (!battle_config.prevent_logout || DIFF_TICK(gettick(), sd->canlog_tick) > battle_config.prevent_logout))
+ if (chrif_isconnect() && (sd->state.waitingdisconnect || //Was already waiting to be disconnected.
+ !battle_config.prevent_logout || DIFF_TICK(gettick(), sd->canlog_tick) > battle_config.prevent_logout))
map_quit(sd);
else if (sd->fd)
{ //Disassociate session from player (session is deleted after this function was called)