diff options
author | mekolat <mekolat@users.noreply.github.com> | 2016-05-13 18:47:26 -0400 |
---|---|---|
committer | mekolat <mekolat@users.noreply.github.com> | 2016-05-13 18:47:26 -0400 |
commit | ceb7acf8291867d56b53c3f696a39e91fd79da59 (patch) | |
tree | aa8435df2ad26674878343b5e6d4531ccd17f329 /src/map/clif.cpp | |
parent | f9df1a84b4486eefc65fb91287c2c399531e5b37 (diff) | |
parent | 67fba86142da3c188ccede6c9403afbc2cd72ea1 (diff) | |
download | tmwa-ceb7acf8291867d56b53c3f696a39e91fd79da59.tar.gz tmwa-ceb7acf8291867d56b53c3f696a39e91fd79da59.tar.bz2 tmwa-ceb7acf8291867d56b53c3f696a39e91fd79da59.tar.xz tmwa-ceb7acf8291867d56b53c3f696a39e91fd79da59.zip |
Merge pull request #225 from mekolat/destroy
fix destroynpc crash
Diffstat (limited to 'src/map/clif.cpp')
-rw-r--r-- | src/map/clif.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/map/clif.cpp b/src/map/clif.cpp index bd7f4ef..d4b16a7 100644 --- a/src/map/clif.cpp +++ b/src/map/clif.cpp @@ -305,16 +305,19 @@ int clif_send(const Buffer& buf, dumb_ptr<block_list> bl, SendWho type, ClientVe } break; case SendWho::ALL_SAMEMAP: // 同じマップの全クライアントに送信 - for (io::FD i : iter_fds()) + if (bl->bl_m != borrow(undefined_gat)) { - Session *s = get_session(i); - if (!s) - continue; - dumb_ptr<map_session_data> sd = dumb_ptr<map_session_data>(static_cast<map_session_data *>(s->session_data.get())); - if (sd && sd->state.auth && !sd->state.connect_new && sd->bl_m == bl->bl_m) + for (io::FD i : iter_fds()) { + Session *s = get_session(i); + if (!s) + continue; + dumb_ptr<map_session_data> sd = dumb_ptr<map_session_data>(static_cast<map_session_data *>(s->session_data.get())); + if (sd && sd->state.auth && !sd->state.connect_new && sd->bl_m == bl->bl_m) { - send_buffer(s, buf); + { + send_buffer(s, buf); + } } } } |