Consider failed search as not found on deleting message

pull/187/head
M66B 5 years ago
parent 418ec787fd
commit 195deda185

@ -1228,23 +1228,28 @@ class Core {
} }
} }
if (!TextUtils.isEmpty(message.msgid) && !deleted) { if (!TextUtils.isEmpty(message.msgid) && !deleted)
Message[] imessages = ifolder.search(new MessageIDTerm(message.msgid)); try {
if (imessages == null) Message[] imessages = ifolder.search(new MessageIDTerm(message.msgid));
Log.w(folder.name + " search for msgid=" + message.msgid + " returned null"); if (imessages == null)
else Log.w(folder.name + " search for msgid=" + message.msgid + " returned null");
for (Message iexisting : imessages) { else
long muid = ifolder.getUID(iexisting); for (Message iexisting : imessages) {
Log.i(folder.name + " deleting uid=" + muid); long muid = ifolder.getUID(iexisting);
try { Log.i(folder.name + " deleting uid=" + muid);
iexisting.setFlag(Flags.Flag.DELETED, true); try {
} catch (MessageRemovedException ignored) { iexisting.setFlag(Flags.Flag.DELETED, true);
Log.w(folder.name + " existing gone uid=" + muid); deleted = true;
} catch (MessageRemovedException ignored) {
Log.w(folder.name + " existing gone uid=" + muid);
}
} }
} } catch (MessagingException ex) {
} Log.w(ex);
}
ifolder.expunge(); if (deleted)
ifolder.expunge();
db.message().deleteMessage(message.id); db.message().deleteMessage(message.id);
} finally { } finally {

Loading…
Cancel
Save