fixed issue #66: game creators can't kick spectators; unfortunately, this fix is client-side
This commit is contained in:
parent
a1e35ccda5
commit
28b18575f2
3 changed files with 1 additions and 13 deletions
|
@ -819,17 +819,6 @@ AbstractClient *TabGame::getClientForPlayer(int playerId) const
|
|||
return clients.first();
|
||||
}
|
||||
|
||||
int TabGame::getPlayerIdByName(const QString &playerName) const
|
||||
{
|
||||
QMapIterator<int, Player *> playerIterator(players);
|
||||
while (playerIterator.hasNext()) {
|
||||
const Player *const p = playerIterator.next().value();
|
||||
if (p->getName() == playerName)
|
||||
return p->getId();
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
void TabGame::sendGameCommand(PendingCommand *pend, int playerId)
|
||||
{
|
||||
AbstractClient *client = getClientForPlayer(playerId);
|
||||
|
|
|
@ -210,7 +210,6 @@ public:
|
|||
bool getSpectatorsSeeEverything() const { return gameInfo.spectators_omniscient(); }
|
||||
Player *getActiveLocalPlayer() const;
|
||||
AbstractClient *getClientForPlayer(int playerId) const;
|
||||
int getPlayerIdByName(const QString &playerName) const;
|
||||
|
||||
void setActiveCard(CardItem *_card) { activeCard = _card; }
|
||||
CardItem *getActiveCard() const { return activeCard; }
|
||||
|
|
|
@ -182,7 +182,7 @@ void UserContextMenu::showContextMenu(const QPoint &pos, const QString &userName
|
|||
client->sendCommand(client->prepareSessionCommand(cmd));
|
||||
} else if (actionClicked == aKick) {
|
||||
Command_KickFromGame cmd;
|
||||
cmd.set_player_id(game->getPlayerIdByName(userName));
|
||||
cmd.set_player_id(playerId);
|
||||
game->sendGameCommand(cmd);
|
||||
} else if (actionClicked == aBan) {
|
||||
Command_GetUserInfo cmd;
|
||||
|
|
Loading…
Reference in a new issue