diff --git a/src/callwidget.cpp b/src/callwidget.cpp index 5689802d8a195bfc048ddd62d930400715732556..4161c2cfd5ebc52df9e619c86ba35cf40a533609 100644 --- a/src/callwidget.cpp +++ b/src/callwidget.cpp @@ -383,22 +383,26 @@ CallWidget::setupSmartListContextMenu(const QPoint& pos) menu.addAction(videoCallAction); connect(videoCallAction, &QAction::triggered, [this, convUid, conversation, convModel]() { - convModel->placeCall(convUid); + if (!ui->messageView->isVisible()) + showChatView(LRCInstance::getCurrAccId(), conversation); ui->callingPhoto->setPixmap(QPixmap::fromImage(imageForConv(convUid))); if (convUid != LRCInstance::getCurrentConvUid()) { selectConversation(conversation); } + convModel->placeCall(convUid); }); // audio call auto audioCallAction = new QAction(tr("Start audio call"), this); menu.addAction(audioCallAction); connect(audioCallAction, &QAction::triggered, [this, convUid, conversation, convModel]() { - convModel->placeAudioOnlyCall(convUid); + if (!ui->messageView->isVisible()) + showChatView(LRCInstance::getCurrAccId(), conversation); ui->callingPhoto->setPixmap(QPixmap::fromImage(imageForConv(convUid))); if (convUid != LRCInstance::getCurrentConvUid()) { selectConversation(conversation); } + convModel->placeAudioOnlyCall(convUid); }); // clear conversation auto clearConversationAction = new QAction(tr("Clear conversation"), this);