diff options
author | ai4rei <ai4rei@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2011-01-29 10:46:01 +0000 |
---|---|---|
committer | ai4rei <ai4rei@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2011-01-29 10:46:01 +0000 |
commit | 9acb21fa52f80cc6ad6a03f09f019821dce3d23c (patch) | |
tree | 488f9ed60ecc313f8d1a340b9d682227b0297a64 /src/map | |
parent | d5590087f94f18b2a85980f504b26643eb3f62a1 (diff) | |
download | hercules-9acb21fa52f80cc6ad6a03f09f019821dce3d23c.tar.gz hercules-9acb21fa52f80cc6ad6a03f09f019821dce3d23c.tar.bz2 hercules-9acb21fa52f80cc6ad6a03f09f019821dce3d23c.tar.xz hercules-9acb21fa52f80cc6ad6a03f09f019821dce3d23c.zip |
* Fixed a map-server crash when invalid items are deleted (option 'item_check') from a logging-in character (bugreport:2604).
- This removes the pc_checkitem call from pc_authok, as the check is done in clif_parse_LoadEndAck as well, after first status calc has taken place.
- Inventory list is now sent before pc_checkitem in clif_parse_LoadEndAck, so that deleted items do not show up as 'unknown item'.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14685 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/clif.c | 2 | ||||
-rw-r--r-- | src/map/pc.c | 2 |
2 files changed, 1 insertions, 3 deletions
diff --git a/src/map/clif.c b/src/map/clif.c index e36418706..9831ef4c2 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -8400,8 +8400,8 @@ void clif_parse_LoadEndAck(int fd,struct map_session_data *sd) clif_refreshlook(&sd->bl,sd->bl.id,LOOK_CLOTHES_COLOR,sd->vd.cloth_color,SELF); // item + clif_inventorylist(sd); // inventory list first, otherwise deleted items in pc_checkitem show up as 'unknown item' pc_checkitem(sd); - clif_inventorylist(sd); // cart if(pc_iscarton(sd)) { diff --git a/src/map/pc.c b/src/map/pc.c index f745c2f0a..48a085791 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -892,9 +892,7 @@ bool pc_authok(struct map_session_data *sd, int login_id2, time_t expiration_tim if (!(battle_config.display_skill_fail&2)) sd->state.showdelay = 1; - // アイテムチェック pc_setinventorydata(sd); - pc_checkitem(sd); status_change_init(&sd->bl); if ((battle_config.atc_gmonly == 0 || pc_isGM(sd)) && (pc_isGM(sd) >= get_atcommand_level(atcommand_hide))) |