fixed user list bug in threaded client, fixed buddy list crash in server
This commit is contained in:
parent
fd5be3d525
commit
d251078feb
5 changed files with 13 additions and 11 deletions
|
@ -62,8 +62,9 @@ void AbstractClient::processProtocolItem(const ServerMessage &item)
|
|||
PendingCommand *pend = pendingCommands.value(cmdId, 0);
|
||||
if (!pend)
|
||||
return;
|
||||
|
||||
pendingCommands.remove(cmdId);
|
||||
locker.unlock();
|
||||
|
||||
pend->processResponse(response);
|
||||
pend->deleteLater();
|
||||
break;
|
||||
|
|
|
@ -614,7 +614,7 @@ void Player::retranslateUi()
|
|||
aPeek->setText(tr("&Peek at card face"));
|
||||
aClone->setText(tr("&Clone"));
|
||||
aClone->setShortcut(tr("Ctrl+H"));
|
||||
aAttach->setText(tr("&Attach to card..."));
|
||||
aAttach->setText(tr("Attac&h to card..."));
|
||||
aAttach->setShortcut(tr("Ctrl+A"));
|
||||
aUnattach->setText(tr("Unattac&h"));
|
||||
aDrawArrow->setText(tr("&Draw arrow..."));
|
||||
|
|
|
@ -107,6 +107,7 @@ void TabUserLists::processUserLeftEvent(const Event_UserLeft &event)
|
|||
|
||||
void TabUserLists::buddyListReceived(const QList<ServerInfo_User> &_buddyList)
|
||||
{
|
||||
qDebug() << "BUDDY LIST" << _buddyList.size();
|
||||
for (int i = 0; i < _buddyList.size(); ++i)
|
||||
buddyList->processUserInfo(_buddyList[i], false);
|
||||
buddyList->sortItems();
|
||||
|
|
|
@ -348,7 +348,7 @@ MainWindow::MainWindow(QWidget *parent)
|
|||
connect(client, SIGNAL(serverTimeout()), this, SLOT(serverTimeout()));
|
||||
connect(client, SIGNAL(statusChanged(ClientStatus)), this, SLOT(statusChanged(ClientStatus)));
|
||||
connect(client, SIGNAL(protocolVersionMismatch(int, int)), this, SLOT(protocolVersionMismatch(int, int)));
|
||||
connect(client, SIGNAL(userInfoChanged(const ServerInfo_User &)), this, SLOT(userInfoReceived(const ServerInfo_User &)));
|
||||
connect(client, SIGNAL(userInfoChanged(const ServerInfo_User &)), this, SLOT(userInfoReceived(const ServerInfo_User &)), Qt::BlockingQueuedConnection);
|
||||
|
||||
clientThread = new QThread(this);
|
||||
client->moveToThread(clientThread);
|
||||
|
|
|
@ -197,10 +197,10 @@ Response::ResponseCode ServerSocketInterface::cmdAddToList(const Command_AddToLi
|
|||
if (!servatrice->execSqlQuery(query))
|
||||
return Response::RespInternalError;
|
||||
|
||||
Event_AddToList *event = new Event_AddToList;
|
||||
event->set_list_name(cmd.list());
|
||||
event->mutable_user_info()->CopyFrom(servatrice->getUserData(user));
|
||||
rc.enqueuePreResponseItem(ServerMessage::SESSION_EVENT, event);
|
||||
Event_AddToList event;
|
||||
event.set_list_name(cmd.list());
|
||||
event.mutable_user_info()->CopyFrom(servatrice->getUserData(user));
|
||||
rc.enqueuePreResponseItem(ServerMessage::SESSION_EVENT, prepareSessionEvent(event));
|
||||
|
||||
return Response::RespOk;
|
||||
}
|
||||
|
@ -236,10 +236,10 @@ Response::ResponseCode ServerSocketInterface::cmdRemoveFromList(const Command_Re
|
|||
if (!servatrice->execSqlQuery(query))
|
||||
return Response::RespInternalError;
|
||||
|
||||
Event_RemoveFromList *event = new Event_RemoveFromList;
|
||||
event->set_list_name(cmd.list());
|
||||
event->set_user_name(cmd.user_name());
|
||||
rc.enqueuePreResponseItem(ServerMessage::SESSION_EVENT, event);
|
||||
Event_RemoveFromList event;
|
||||
event.set_list_name(cmd.list());
|
||||
event.set_user_name(cmd.user_name());
|
||||
rc.enqueuePreResponseItem(ServerMessage::SESSION_EVENT, prepareSessionEvent(event));
|
||||
|
||||
return Response::RespOk;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue