summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2017-08-26 01:15:03 +0300
committerAndrei Karas <akaras@inbox.ru>2017-08-26 01:15:03 +0300
commit5b8c92a15a877bc05812c091ca1841cacf989f30 (patch)
treecc47b28fa2996ed4ef88cd163a928d11cbee9228
parent9c2efbbe0e12e7cc24d74a5fbd91cb084fbad3b9 (diff)
downloadplus-5b8c92a15a877bc05812c091ca1841cacf989f30.tar.gz
plus-5b8c92a15a877bc05812c091ca1841cacf989f30.tar.bz2
plus-5b8c92a15a877bc05812c091ca1841cacf989f30.tar.xz
plus-5b8c92a15a877bc05812c091ca1841cacf989f30.zip
Add support for mail deletion.
-rw-r--r--src/gui/windows/mailwindow.cpp5
-rw-r--r--src/net/eathena/mail2recv.cpp9
2 files changed, 11 insertions, 3 deletions
diff --git a/src/gui/windows/mailwindow.cpp b/src/gui/windows/mailwindow.cpp
index 8dc54cf94..f41017543 100644
--- a/src/gui/windows/mailwindow.cpp
+++ b/src/gui/windows/mailwindow.cpp
@@ -151,7 +151,10 @@ void MailWindow::action(const ActionEvent &event)
if (sel < 0)
return;
const MailMessage *const mail = mMessages[sel];
- mailHandler->deleteMessage(mail->id);
+ if (mUseMail2)
+ mail2Handler->deleteMail(mOpenType, mail->id);
+ else
+ mailHandler->deleteMessage(mail->id);
}
else if (eventId == "return")
{
diff --git a/src/net/eathena/mail2recv.cpp b/src/net/eathena/mail2recv.cpp
index e3dc5b9da..32d4f76c6 100644
--- a/src/net/eathena/mail2recv.cpp
+++ b/src/net/eathena/mail2recv.cpp
@@ -444,9 +444,14 @@ void Mail2Recv::processReadMail(Net::MessageIn &msg)
void Mail2Recv::processMailDelete(Net::MessageIn &msg)
{
- UNIMPLEMENTEDPACKET;
msg.readUInt8("open type");
- msg.readInt64("mail id");
+ const int64_t mailId = msg.readInt64("mail id");
+ if (mailWindow == nullptr)
+ {
+ reportAlways("Mail window not created.");
+ return;
+ }
+ mailWindow->removeMail(mailId);
}
void Mail2Recv::processRequestMoney(Net::MessageIn &msg)