server crash fix

This commit is contained in:
Max-Wilhelm Bruker 2011-08-03 16:51:14 +02:00
parent a569a1b8b1
commit f38c5f50ef
3 changed files with 4 additions and 2 deletions

View file

@ -53,6 +53,7 @@ public:
ServerInfo_User(const ServerInfo_User *other, bool complete = true); ServerInfo_User(const ServerInfo_User *other, bool complete = true);
static SerializableItem *newItem() { return new ServerInfo_User; } static SerializableItem *newItem() { return new ServerInfo_User; }
QString getName() const { return static_cast<SerializableItem_String *>(itemMap.value("name"))->getData(); } QString getName() const { return static_cast<SerializableItem_String *>(itemMap.value("name"))->getData(); }
void setName(const QString &_name) { static_cast<SerializableItem_String *>(itemMap.value("name"))->setData(_name); }
int getUserLevel() const { return static_cast<SerializableItem_Int *>(itemMap.value("userlevel"))->getData(); } int getUserLevel() const { return static_cast<SerializableItem_Int *>(itemMap.value("userlevel"))->getData(); }
void setUserLevel(int _userLevel) { static_cast<SerializableItem_Int *>(itemMap.value("userlevel"))->setData(_userLevel); } void setUserLevel(int _userLevel) { static_cast<SerializableItem_Int *>(itemMap.value("userlevel"))->setData(_userLevel); }
QString getRealName() const { return static_cast<SerializableItem_String *>(itemMap.value("real_name"))->getData(); } QString getRealName() const { return static_cast<SerializableItem_String *>(itemMap.value("real_name"))->getData(); }

View file

@ -73,6 +73,7 @@ AuthenticationResult Server::loginUser(Server_ProtocolHandler *session, QString
while (users.contains(tempName) || userExists(tempName)) while (users.contains(tempName) || userExists(tempName))
tempName = name + "_" + QString::number(++i); tempName = name + "_" + QString::number(++i);
name = tempName; name = tempName;
data->setName(name);
} }
session->setUserInfo(data); session->setUserInfo(data);

View file

@ -220,7 +220,7 @@ bool Servatrice::userExists(const QString &user)
checkSql(); checkSql();
QSqlQuery query; QSqlQuery query;
query.prepare("select 1 from " + dbPrefix + "_users where name = :name"); query.prepare("select 1 from " + dbPrefix + "_users where name = :name and active = 1");
query.bindValue(":name", user); query.bindValue(":name", user);
if (!execSqlQuery(query)) if (!execSqlQuery(query))
return false; return false;
@ -423,4 +423,4 @@ void Servatrice::shutdownTimeout()
deleteLater(); deleteLater();
} }
const QString Servatrice::versionString = "Servatrice 0.20110625"; const QString Servatrice::versionString = "Servatrice 0.20110803";