diff options
-rw-r--r-- | src/common/socket.c | 2 | ||||
-rw-r--r-- | src/map/status.c | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/common/socket.c b/src/common/socket.c index 7f7160f26..2e2182784 100644 --- a/src/common/socket.c +++ b/src/common/socket.c @@ -575,7 +575,7 @@ int realloc_writefifo(int fd, size_t addition) while( session[fd]->wdata_size + addition > newsize ) newsize += newsize; } else - if( session[fd]->max_wdata >= 2*(session[fd]->flag.server?FIFOSIZE_SERVERLINK:WFIFO_SIZE) + if( session[fd]->max_wdata >= (size_t)2*(session[fd]->flag.server?FIFOSIZE_SERVERLINK:WFIFO_SIZE) && (session[fd]->wdata_size+addition)*4 < session[fd]->max_wdata ) { // shrink rule, shrink by 2 when only a quarter of the fifo is used, don't shrink below nominal size. newsize = session[fd]->max_wdata / 2; diff --git a/src/map/status.c b/src/map/status.c index a05c4611b..748be46ca 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -6378,6 +6378,11 @@ int status_change_end(struct block_list* bl, enum sc_type type, int tid) case SC_NOCHAT: if (sd && sd->status.manner < 0 && tid != -1) sd->status.manner = 0; + if (sd) + { + clif_changestatus(&sd->bl,SP_MANNER,sd->status.manner); + clif_updatestatus(sd,SP_MANNER); + } break; case SC_SPLASHER: { |