Pārlūkot izejas kodu

Fixed bugreport:2307, if you get an mail attachment with the char-server offline it wouldn't be saved to your inventory and therefore the item would be lost.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16953 54d463be-8e91-2dee-dedb-b68131a5f0ec
momacabu 12 gadi atpakaļ
vecāks
revīzija
1c7e4e1e0f
1 mainītis faili ar 8 papildinājumiem un 0 dzēšanām
  1. 8 0
      src/map/clif.c

+ 8 - 0
src/map/clif.c

@@ -13780,6 +13780,8 @@ void clif_parse_Mail_getattach(int fd, struct map_session_data *sd)
 	int i;
 	bool fail = false;
 
+	if( !chrif_isconnected() )
+		return;
 	if( mail_id <= 0 )
 		return;
 	if( mail_invalid_operation(sd) )
@@ -13844,6 +13846,8 @@ void clif_parse_Mail_delete(int fd, struct map_session_data *sd)
 	int mail_id = RFIFOL(fd,2);
 	int i;
 
+	if( !chrif_isconnected() )
+		return;
 	if( mail_id <= 0 )
 		return;
 	if( mail_invalid_operation(sd) )
@@ -13893,6 +13897,8 @@ void clif_parse_Mail_setattach(int fd, struct map_session_data *sd)
 	int amount = RFIFOL(fd,4);
 	unsigned char flag;
 
+	if( !chrif_isconnected() )
+		return;
 	if (idx < 0 || amount < 0)
 		return;
 
@@ -13925,6 +13931,8 @@ void clif_parse_Mail_send(int fd, struct map_session_data *sd)
 	struct mail_message msg;
 	int body_len;
 
+	if( !chrif_isconnected() )
+		return;
 	if( sd->state.trading )
 		return;