From 124188a0a1a02cc830ac8b3c3c8eaa8e0445fe26 Mon Sep 17 00:00:00 2001
From: akwizgran <akwizgran@users.sourceforge.net>
Date: Sun, 25 Sep 2011 14:39:31 +0100
Subject: [PATCH] DatabaseComponent.setSeen() should call
 setStatusSeenIfVisible().

Otherwise an exception may be thrown if an offered message is no
longer in the DB.
---
 components/net/sf/briar/db/DatabaseComponentImpl.java | 2 +-
 test/net/sf/briar/db/DatabaseComponentTest.java       | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/components/net/sf/briar/db/DatabaseComponentImpl.java b/components/net/sf/briar/db/DatabaseComponentImpl.java
index 4f269012fb..11ad89ca39 100644
--- a/components/net/sf/briar/db/DatabaseComponentImpl.java
+++ b/components/net/sf/briar/db/DatabaseComponentImpl.java
@@ -1163,7 +1163,7 @@ DatabaseCleaner.Callback {
 						T txn = db.startTransaction();
 						try {
 							for(MessageId m : seen) {
-								db.setStatus(txn, c, m, Status.SEEN);
+								db.setStatusSeenIfVisible(txn, c, m);
 							}
 							db.commitTransaction(txn);
 						} catch(DbException e) {
diff --git a/test/net/sf/briar/db/DatabaseComponentTest.java b/test/net/sf/briar/db/DatabaseComponentTest.java
index 878b8a05a9..13f49901e1 100644
--- a/test/net/sf/briar/db/DatabaseComponentTest.java
+++ b/test/net/sf/briar/db/DatabaseComponentTest.java
@@ -1509,7 +1509,7 @@ public abstract class DatabaseComponentTest extends TestCase {
 			allowing(database).containsContact(txn, contactId);
 			will(returnValue(true));
 			// setSeen(contactId, Collections.singleton(messageId))
-			oneOf(database).setStatus(txn, contactId, messageId, Status.SEEN);
+			oneOf(database).setStatusSeenIfVisible(txn, contactId, messageId);
 		}});
 		DatabaseComponent db = createDatabaseComponent(database, cleaner);
 
-- 
GitLab