From bea3559998c0ae0a2afca566046f08d0a201c0b2 Mon Sep 17 00:00:00 2001
From: Tobias Markmann <tm@ayena.de>
Date: Wed, 16 Dec 2015 18:21:17 +0100
Subject: Fix crash related to removal of contacts

Test-Information:

Added test@example.com contact and removed it afterwards.
Without this patch Swift crashed. With the patch it does not
anymore.

Change-Id: I09e93340cb0a23291ab094a4cdb7c79ef719645a

diff --git a/Swift/Controllers/Roster/RosterController.cpp b/Swift/Controllers/Roster/RosterController.cpp
index 75acaa9..4fbdea4 100644
--- a/Swift/Controllers/Roster/RosterController.cpp
+++ b/Swift/Controllers/Roster/RosterController.cpp
@@ -334,6 +334,11 @@ void RosterController::handleIncomingPresence(Presence::ref newPresence) {
 		return;
 	}
 	Presence::ref accountPresence = presenceOracle_->getAccountPresence(newPresence->getFrom().toBare());
+	if (!accountPresence) {
+		accountPresence = Presence::create();
+		accountPresence->setFrom(newPresence->getFrom());
+		accountPresence->setType(Presence::Unavailable);
+	}
 	roster_->applyOnItems(SetPresence(accountPresence));
 }
 
-- 
cgit v0.10.2-6-g49f6