summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshennetsind <ind@henn.et>2014-03-11 16:32:50 -0300
committershennetsind <ind@henn.et>2014-03-11 16:32:50 -0300
commit44819f75ab08b78ed7d09d3bbae0dc78a63aca52 (patch)
treedb0b53515052735286a5c5487c96f9ebdeb82c0a
parent568d45bb453cb9e9d9bf8e84e5b11ed6e5873a9e (diff)
downloadhercules-44819f75ab08b78ed7d09d3bbae0dc78a63aca52.tar.gz
hercules-44819f75ab08b78ed7d09d3bbae0dc78a63aca52.tar.bz2
hercules-44819f75ab08b78ed7d09d3bbae0dc78a63aca52.tar.xz
hercules-44819f75ab08b78ed7d09d3bbae0dc78a63aca52.zip
Fixed Bug 8072
Special Thanks to kyeme, Haruna http://hercules.ws/board/tracker/issue-8072-map-crash-autotrade/ Signed-off-by: shennetsind <ind@henn.et>
-rw-r--r--src/map/clif.c6
-rw-r--r--src/map/pc.c6
2 files changed, 9 insertions, 3 deletions
diff --git a/src/map/clif.c b/src/map/clif.c
index 1c5f7e003..cf6257628 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -9927,13 +9927,13 @@ void clif_parse_GlobalMessage(int fd, struct map_session_data* sd)
}
WFIFOSET(fd, WFIFOW(fd,2));
+ // Chat logging type 'O' / Global Chat
+ logs->chat(LOG_CHAT_GLOBAL, 0, sd->status.char_id, sd->status.account_id, mapindex_id2name(sd->mapindex), sd->bl.x, sd->bl.y, NULL, message);
+
#ifdef PCRE_SUPPORT
// trigger listening npcs
map->foreachinrange(npc_chat->sub, &sd->bl, AREA_SIZE, BL_NPC, text, textlen, &sd->bl);
#endif
-
- // Chat logging type 'O' / Global Chat
- logs->chat(LOG_CHAT_GLOBAL, 0, sd->status.char_id, sd->status.account_id, mapindex_id2name(sd->mapindex), sd->bl.x, sd->bl.y, NULL, message);
}
diff --git a/src/map/pc.c b/src/map/pc.c
index 87f14bcd9..5eb682415 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -10477,6 +10477,12 @@ void pc_autotrade_prepare(struct map_session_data *sd) {
sex = sd->status.sex;
safestrncpy(title, sd->message, sizeof(title));
+ sd->npc_id = 0;
+ sd->npc_shopid = 0;
+ if (sd->st) {
+ sd->st->state = END;
+ sd->st = NULL;
+ }
map->quit(sd);
chrif->auth_delete(account_id, char_id, ST_LOGOUT);