From e3e31062ad3ff6646fd0bc91d1e3d9891797e0ce Mon Sep 17 00:00:00 2001 From: cketti Date: Fri, 1 Apr 2011 03:45:50 +0200 Subject: [PATCH] Only keep reference to selected message if necessary Only keep mSelectedMessage pointing to the currently selected message if we use the spam action and ask for confirmation before moving. --- src/com/fsck/k9/activity/MessageList.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/com/fsck/k9/activity/MessageList.java b/src/com/fsck/k9/activity/MessageList.java index 6b3730080..4951c9c06 100644 --- a/src/com/fsck/k9/activity/MessageList.java +++ b/src/com/fsck/k9/activity/MessageList.java @@ -1131,6 +1131,8 @@ public class MessageList private void onSpam(MessageInfoHolder holder) { if (K9.confirmSpam()) { + // The action handler needs this to move the message later + mSelectedMessage = holder; showDialog(R.id.dialog_confirm_spam); } else { moveToSpamFolder(holder); @@ -1294,6 +1296,8 @@ public class MessageList @Override public void run() { moveToSpamFolder(mSelectedMessage); + // No further need for this reference + mSelectedMessage = null; } }); } @@ -1549,7 +1553,7 @@ public class MessageList AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); MessageInfoHolder holder = mSelectedMessage; // don't need this anymore - //mSelectedMessage = null; + mSelectedMessage = null; if (holder == null) { holder = (MessageInfoHolder) mAdapter.getItem(info.position); }