summaryrefslogtreecommitdiff
path: root/src/map
diff options
context:
space:
mode:
authorKevin <Kevin@54d463be-8e91-2dee-dedb-b68131a5f0ec>2008-04-04 07:19:47 +0000
committerKevin <Kevin@54d463be-8e91-2dee-dedb-b68131a5f0ec>2008-04-04 07:19:47 +0000
commit210c7db380e555a76f06124056a79631cefaaae2 (patch)
tree4a94fea2d6254a611fc3ec0d6a08421e770c3cc5 /src/map
parent44256c0db4fb625cef5f08a5530cfae74158cb85 (diff)
downloadhercules-210c7db380e555a76f06124056a79631cefaaae2.tar.gz
hercules-210c7db380e555a76f06124056a79631cefaaae2.tar.bz2
hercules-210c7db380e555a76f06124056a79631cefaaae2.tar.xz
hercules-210c7db380e555a76f06124056a79631cefaaae2.zip
Bug fixes for Auth Glitch and Map server crash through script warp when changing map servers.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12473 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map')
-rw-r--r--src/map/chrif.c4
-rw-r--r--src/map/pc.c4
2 files changed, 5 insertions, 3 deletions
diff --git a/src/map/chrif.c b/src/map/chrif.c
index 583c22ad6..36f57a892 100644
--- a/src/map/chrif.c
+++ b/src/map/chrif.c
@@ -400,8 +400,12 @@ int chrif_changemapserverack(int account_id, int login_id1, int login_id2, int c
} else
clif_changemapserver(node->sd, map_index, x, y, ntohl(ip), ntohs(port));
+ //Free session data from this map server [Kevin]
+ unit_free_pc(sd);
+
//Player has been saved already, remove him from memory. [Skotlex]
chrif_auth_delete(account_id, char_id, ST_MAPCHANGE);
+
return 0;
}
diff --git a/src/map/pc.c b/src/map/pc.c
index acc8af40c..e55ae2014 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -3594,9 +3594,7 @@ int pc_setpos(struct map_session_data* sd, unsigned short mapindex, int x, int y
pc_clean_skilltree(sd);
chrif_save(sd,2);
chrif_changemapserver(sd, ip, (short)port);
- //It is important to invoke remove_map separately from unit_free before
- //saving so that the data saved corresponds to that AFTER warping.
- unit_free_pc(sd);
+
return 0;
}