mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-04-27 07:48:01 -07:00
fix segfault on disconnect (#5447)
* add new param to closeRequest * don't emit signals in dtors * send closeRequest * fix build failure * fix build failure * see if we can get away with the overloaded triggered * fix build failure
This commit is contained in:
parent
3b544a36a8
commit
7347ba88ac
12 changed files with 59 additions and 67 deletions
|
|
@ -38,7 +38,7 @@ TabMessage::TabMessage(TabSupervisor *_tabSupervisor,
|
|||
vbox->addWidget(sayEdit);
|
||||
|
||||
aLeave = new QAction(this);
|
||||
connect(aLeave, SIGNAL(triggered()), this, SLOT(actLeave()));
|
||||
connect(aLeave, &QAction::triggered, this, [this] { closeRequest(); });
|
||||
|
||||
messageMenu = new QMenu(this);
|
||||
messageMenu->addAction(aLeave);
|
||||
|
|
@ -53,7 +53,6 @@ TabMessage::TabMessage(TabSupervisor *_tabSupervisor,
|
|||
|
||||
TabMessage::~TabMessage()
|
||||
{
|
||||
emit talkClosing(this);
|
||||
delete ownUserInfo;
|
||||
delete otherUserInfo;
|
||||
}
|
||||
|
|
@ -86,9 +85,10 @@ QString TabMessage::getTabText() const
|
|||
return tr("%1 - Private chat").arg(QString::fromStdString(otherUserInfo->name()));
|
||||
}
|
||||
|
||||
void TabMessage::closeRequest()
|
||||
void TabMessage::closeRequest(bool /*forced*/)
|
||||
{
|
||||
actLeave();
|
||||
emit talkClosing(this);
|
||||
deleteLater();
|
||||
}
|
||||
|
||||
void TabMessage::sendMessage()
|
||||
|
|
@ -114,11 +114,6 @@ void TabMessage::messageSent(const Response &response)
|
|||
"This user is ignoring you, they cannot see your messages in main chat and you cannot join their games."));
|
||||
}
|
||||
|
||||
void TabMessage::actLeave()
|
||||
{
|
||||
deleteLater();
|
||||
}
|
||||
|
||||
void TabMessage::processUserMessageEvent(const Event_UserMessage &event)
|
||||
{
|
||||
auto userInfo = event.sender_name() == otherUserInfo->name() ? otherUserInfo : ownUserInfo;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue