From 7b646af310a46652be61c1d5aef541209e5d6eaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Blin?= <sebastien.blin@savoirfairelinux.com> Date: Tue, 10 Jul 2018 10:08:49 -0400 Subject: [PATCH] conversationmodel: check if account is enable before interacting with peer A disabled account cannot send messages or place call with a peer. Change-Id: Ib76dd530ffbbb6f1f7d88f5b5079d83f2b0e8d89 Gitlab: #370 Reviewed-by: Philippe Gorley <philippe.gorley@savoirfairelinux.com> --- src/api/account.h | 2 +- src/conversationmodel.cpp | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/api/account.h b/src/api/account.h index b67b8971..9816a239 100644 --- a/src/api/account.h +++ b/src/api/account.h @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (C) 2017-2018 Savoir-faire Linux * + * Copyright (C) 2017-2018 Savoir-faire Linux * * Author: Nicolas Jäger <nicolas.jager@savoirfairelinux.com> * * Author: Sébastien Blin <sebastien.blin@savoirfairelinux.com> * * * diff --git a/src/conversationmodel.cpp b/src/conversationmodel.cpp index aba718d1..013a06a0 100644 --- a/src/conversationmodel.cpp +++ b/src/conversationmodel.cpp @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (C) 2017-2018 Savoir-faire Linux * + * Copyright (C) 2017-2018 Savoir-faire Linux * * Author: Nicolas Jäger <nicolas.jager@savoirfairelinux.com> * * Author: Sébastien Blin <sebastien.blin@savoirfairelinux.com> * * Author: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com> * @@ -381,7 +381,7 @@ void ConversationModel::makePermanent(const std::string& uid) { auto conversationIdx = pimpl_->indexOf(uid); - if (conversationIdx == -1) + if (conversationIdx == -1 || !owner.enabled) return; auto& conversation = pimpl_->conversations.at(conversationIdx); @@ -484,7 +484,7 @@ ConversationModelPimpl::placeCall(const std::string& uid, bool isAudioOnly) { auto conversationIdx = indexOf(uid); - if (conversationIdx == -1) + if (conversationIdx == -1 || !linked.owner.enabled) return; auto& conversation = conversations.at(conversationIdx); @@ -592,7 +592,7 @@ ConversationModel::sendMessage(const std::string& uid, const std::string& body) { // FIXME potential race condition between index check and at() call auto conversationIdx = pimpl_->indexOf(uid); - if (conversationIdx == -1) + if (conversationIdx == -1 || !owner.enabled) return; auto& conversation = pimpl_->conversations.at(conversationIdx); @@ -741,7 +741,7 @@ ConversationModel::joinConversations(const std::string& uidA, const std::string& { auto conversationAIdx = pimpl_->indexOf(uidA); auto conversationBIdx = pimpl_->indexOf(uidB); - if (conversationAIdx == -1 || conversationBIdx == -1) + if (conversationAIdx == -1 || conversationBIdx == -1 || !owner.enabled) return; auto& conversationA = pimpl_->conversations[conversationAIdx]; auto& conversationB = pimpl_->conversations[conversationBIdx]; @@ -1709,7 +1709,7 @@ ConversationModel::sendFile(const std::string& convUid, const std::string& filename) { auto conversationIdx = pimpl_->indexOf(convUid); - if (conversationIdx == -1) + if (conversationIdx == -1 || !owner.enabled) return; const auto peerUri = pimpl_->conversations[conversationIdx].participants.front(); -- GitLab