1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00

fix(chatForm): Fix issue with mixing friend and group id

Fix #4828
This commit is contained in:
Diadlo 2017-11-23 20:26:38 +03:00
parent c274cec87e
commit 5bc8ef4e74
No known key found for this signature in database
GPG Key ID: 5AF9F2E29107C727

View File

@ -55,6 +55,7 @@
#include "src/model/friend.h"
#include "src/friendlist.h"
#include "src/model/group.h"
#include "src/model/profile/profileinfo.h"
#include "src/grouplist.h"
#include "src/net/autoupdate.h"
#include "src/nexus.h"
@ -73,8 +74,6 @@
#include "src/widget/translator.h"
#include "tool/removefrienddialog.h"
#include <src/model/profile/profileinfo.h>
bool toxActivateEventHandler(const QByteArray&)
{
Widget* widget = Nexus::getDesktopGUI();
@ -1132,16 +1131,23 @@ void Widget::openDialog(GenericChatroomWidget* widget, bool newWindow)
GenericChatForm* form;
const Friend* frnd = widget->getFriend();
if (frnd) {
form = chatForms[frnd->getId()];
id = frnd->getId();
form = chatForms[id];
} else {
Group* g = widget->getGroup();
form = g->getChatForm();
id = g->getId();
}
ContentDialog::focusFriend(id);
bool chatFormIsSet = ContentDialog::friendWidgetExists(id);
bool chatFormIsSet;
if (frnd) {
ContentDialog::focusFriend(id);
chatFormIsSet = ContentDialog::friendWidgetExists(id);
} else {
ContentDialog::focusGroup(id);
chatFormIsSet = ContentDialog::groupWidgetExists(id);
}
if ((chatFormIsSet || form->isVisible()) && !newWindow) {
return;
}