summaryrefslogtreecommitdiff
path: root/src/map/map.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/map.c')
-rw-r--r--src/map/map.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/map/map.c b/src/map/map.c
index 9f0ac1dde..9eb46ed88 100644
--- a/src/map/map.c
+++ b/src/map/map.c
@@ -547,8 +547,12 @@ void map_foreachinmovearea(int (*func)(struct block_list*,va_list),int m,int x0,
map_freeblock_lock(); // メモリからの解放を禁止する
for(i=blockcount;i<bl_list_count;i++)
- if(bl_list[i]->prev) // 有効かどうかチェック
+ if(bl_list[i]->prev) { // 有効かどうかチェック
+ if (bl_list[i]->type == BL_PC
+ && session[((struct map_session_data *) bl_list[i])->fd] == NULL)
+ continue;
func(bl_list[i],ap);
+ }
map_freeblock_unlock(); // 解放を許可する