From 458258f2ff5eefcad4c42f0869c18d71b5107e09 Mon Sep 17 00:00:00 2001
From: akwizgran <michael@briarproject.org>
Date: Mon, 29 Apr 2013 12:56:58 +0100
Subject: [PATCH] Moved blocking call out of event handler. Fixes issue
 #3611961.

---
 .../src/net/sf/briar/messaging/duplex/DuplexConnection.java    | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/briar-core/src/net/sf/briar/messaging/duplex/DuplexConnection.java b/briar-core/src/net/sf/briar/messaging/duplex/DuplexConnection.java
index 9b43ebd1c9..d5fae8e24e 100644
--- a/briar-core/src/net/sf/briar/messaging/duplex/DuplexConnection.java
+++ b/briar-core/src/net/sf/briar/messaging/duplex/DuplexConnection.java
@@ -135,8 +135,7 @@ abstract class DuplexConnection implements DatabaseListener {
 	public void eventOccurred(DatabaseEvent e) {
 		if(e instanceof ContactRemovedEvent) {
 			ContactRemovedEvent c = (ContactRemovedEvent) e;
-			// FIXME: Listeners should not block
-			if(contactId.equals(c.getContactId())) dispose(false, true);
+			if(contactId.equals(c.getContactId())) writerTasks.add(CLOSE);
 		} else if(e instanceof GroupMessageAddedEvent) {
 			if(canSendOffer.getAndSet(false))
 				dbExecutor.execute(new GenerateOffer());
-- 
GitLab