From d616d50dba166aab5f2daa7b1a856b752bbd84ee Mon Sep 17 00:00:00 2001 From: Denis Dolzhenko Date: Wed, 7 Jun 2017 11:18:40 +0300 Subject: [PATCH] Fix execution of default app_control Change-Id: I48da7fbba4b8b1d4f5bdb7e2c3e77a37d93da24d Signed-off-by: Denis Dolzhenko --- src/Common/Controller/src/NaviFrameController.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/Common/Controller/src/NaviFrameController.cpp b/src/Common/Controller/src/NaviFrameController.cpp index 2829a38..f01b8e3 100644 --- a/src/Common/Controller/src/NaviFrameController.cpp +++ b/src/Common/Controller/src/NaviFrameController.cpp @@ -70,7 +70,6 @@ bool NaviFrameController::prepare(const AppControlCommand &cmd) void NaviFrameController::execCmd(const AppControlDefaultRef &cmd) { if (prepare(*cmd)) { - AppControlLauncher::getInst().terminate(); AppControlDefault::DefaultType type = cmd->getDefaultType(); MsgThread *thread = getTopFrame(); // Check if thread is open if (!thread) @@ -80,14 +79,14 @@ void NaviFrameController::execCmd(const AppControlDefaultRef &cmd) MessageRef msg = getMsgEngine().getStorage().getMessage(cmd->getMessageId()); //To avoid opening conversation if MsgId is invalid if (type != AppControlDefault::MainType && msg != nullptr) { if (conv) { + AppControlLauncher::getInst().terminate(); promote(*conv); conv->execCmd(cmd); - } else if (!conv) { - if (type == AppControlDefault::ViewType || type == AppControlDefault::ReplyType || isUnreadNotificationSingle(type)) { - auto *conversation = new Conversation(*this); - push(*conversation); - conversation->execCmd(cmd); - } + } else if (type == AppControlDefault::ViewType || type == AppControlDefault::ReplyType || isUnreadNotificationSingle(type)) { + AppControlLauncher::getInst().terminate(); + conv = new Conversation(*this); + push(*conv); + conv->execCmd(cmd); } } } -- 2.7.4