From 738bae46d237259adc207e71a86430eb5e887ff8 Mon Sep 17 00:00:00 2001 From: zzz Date: Sat, 10 May 2014 14:47:46 +0000 Subject: [PATCH] * SusiMail: - Remove deleted messages from memory too - Disable delete button when really-delete button shown --- .../src/src/i2p/susi/webmail/MailCache.java | 14 ++++++++++---- .../susimail/src/src/i2p/susi/webmail/WebMail.java | 9 ++++++--- history.txt | 11 +++++++++++ router/java/src/net/i2p/router/RouterVersion.java | 2 +- 4 files changed, 28 insertions(+), 8 deletions(-) diff --git a/apps/susimail/src/src/i2p/susi/webmail/MailCache.java b/apps/susimail/src/src/i2p/susi/webmail/MailCache.java index fd2d80d44..45aa601b8 100644 --- a/apps/susimail/src/src/i2p/susi/webmail/MailCache.java +++ b/apps/susimail/src/src/i2p/susi/webmail/MailCache.java @@ -299,10 +299,16 @@ class MailCache { for (String uidl : uidls) { if (disk != null) disk.deleteMail(uidl); - Mail mail = mails.get(uidl); - if (mail == null) - continue; - mail.markForDeletion = true; + synchronized(mails) { + Mail mail = mails.get(uidl); + if (mail == null) + continue; + mail.markForDeletion = true; + // now replace it with an empty one to save memory + mail = new Mail(uidl); + mail.markForDeletion = true; + mails.put(uidl, mail); + } toDelete.add(uidl); } if (toDelete.isEmpty()) diff --git a/apps/susimail/src/src/i2p/susi/webmail/WebMail.java b/apps/susimail/src/src/i2p/susi/webmail/WebMail.java index 8cbaa4de4..ba2d2441b 100644 --- a/apps/susimail/src/src/i2p/susi/webmail/WebMail.java +++ b/apps/susimail/src/src/i2p/susi/webmail/WebMail.java @@ -2248,9 +2248,12 @@ public class WebMail extends HttpServlet out.println( button( NEW, _("New") ) + spacer + button( REPLY, _("Reply") ) + button( REPLYALL, _("Reply All") ) + - button( FORWARD, _("Forward") ) + spacer + - button( DELETE, _("Delete") ) + spacer + - "
" + + button( FORWARD, _("Forward") ) + spacer); + if (sessionObject.reallyDelete) + out.println(button2(DELETE, _("Delete"))); + else + out.println(button(DELETE, _("Delete"))); + out.println("
" + ( sessionObject.folder.isFirstElement( sessionObject.showUIDL ) ? button2( PREV, _("Previous") ) : button( PREV, _("Previous") ) ) + spacer + button( LIST, _("Back to Folder") ) + spacer + ( sessionObject.folder.isLastElement( sessionObject.showUIDL ) ? button2( NEXT, _("Next") ) : button( NEXT, _("Next") ) )); diff --git a/history.txt b/history.txt index 8594af438..5c83f3289 100644 --- a/history.txt +++ b/history.txt @@ -1,3 +1,14 @@ +2014-05-10 zzz + * NTCP: Fix NPE (ticket #996) + * SusiMail: Remove deleted mails from memory + +2014-05-09 zzz + * SusiMail: Add more locking (ticket #1269) + +2014-05-08 zzz + * i2psnark: Add log message if directory does not exist (ticket #1263) + * i2ptunnel: Display warning for duplicate client ports (ticket #1265) + 2014-05-07 zzz * Console: - Add hiddengate.i2p diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index ea17ad55f..e1f87e077 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -18,7 +18,7 @@ public class RouterVersion { /** deprecated */ public final static String ID = "Monotone"; public final static String VERSION = CoreVersion.VERSION; - public final static long BUILD = 15; + public final static long BUILD = 16; /** for example "-test" */ public final static String EXTRA = "";