mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-01-30 03:15:32 +00:00
[Browser] Fixed two crashes relating to invalid data
This commit is contained in:
parent
76e866c5c9
commit
c9dc75f589
2 changed files with 20 additions and 16 deletions
|
@ -85,13 +85,12 @@ void NetController::setData(QString address, QJsonObject server, ServerModel *mo
|
|||
model->setData(mi, server["passw"].toBool());
|
||||
|
||||
mi = model->index(0, ServerData::PING);
|
||||
// This *should* fix a crash when a port isn't returned by data.
|
||||
if(!address.contains(":"))
|
||||
{
|
||||
address.append(":25565");
|
||||
}
|
||||
QStringList addr = address.split(":");
|
||||
model->setData(mi, PingRakNetServer(addr[0].toLatin1().data(), addr[1].toUShort()));
|
||||
|
||||
// This *should* fix a crash when a port isn't returned by data.
|
||||
if(!address.contains(":"))
|
||||
address.append(":25565");
|
||||
QStringList addr = address.split(":");
|
||||
model->setData(mi, PingRakNetServer(addr[0].toLatin1().data(), addr[1].toUShort()));
|
||||
}
|
||||
|
||||
bool NetController::downloadInfo(QAbstractItemModel *pModel, QModelIndex index)
|
||||
|
@ -229,6 +228,8 @@ void NetController::updateInfo()
|
|||
sd->players = map["players"].toInt();
|
||||
sd->maxPlayers = map["max_players"].toInt();
|
||||
|
||||
if(!sd->addr.contains(":"))
|
||||
sd->addr.append(":25565");
|
||||
QStringList addr = sd->addr.split(":");
|
||||
sd->ping = PingRakNetServer(addr[0].toLatin1(), addr[1].toUShort());
|
||||
if(sd->ping != PING_UNREACHABLE)
|
||||
|
|
|
@ -22,15 +22,18 @@ void ServerInfoDialog::refresh()
|
|||
{
|
||||
NetController::get()->updateInfo();
|
||||
ServerData *sd = NetController::get()->selectedServer();
|
||||
leAddr->setText(sd->addr);
|
||||
lblName->setText(sd->hostName);
|
||||
lblPing->setNum(sd->ping);
|
||||
if (sd)
|
||||
{
|
||||
leAddr->setText(sd->addr);
|
||||
lblName->setText(sd->hostName);
|
||||
lblPing->setNum(sd->ping);
|
||||
|
||||
listPlayers->clear();
|
||||
QStringList players = NetController::get()->players();
|
||||
listPlayers->addItems(players);
|
||||
listPlugins->clear();
|
||||
listPlugins->addItems(NetController::get()->plugins());
|
||||
listPlayers->clear();
|
||||
QStringList players = NetController::get()->players();
|
||||
listPlayers->addItems(players);
|
||||
listPlugins->clear();
|
||||
listPlugins->addItems(NetController::get()->plugins());
|
||||
|
||||
lblPlayers->setText(QString::number(players.size()) + " / " + QString::number(sd->maxPlayers));
|
||||
lblPlayers->setText(QString::number(players.size()) + " / " + QString::number(sd->maxPlayers));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue