diff options
-rw-r--r-- | src/map/clif.c | 3 |
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)
|