diff options
author | Andrei Karas <akaras@inbox.ru> | 2011-09-14 01:46:13 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2011-09-14 01:52:42 +0300 |
commit | c0a5fffb45f849e224750f27fa8c3be5ac447ad6 (patch) | |
tree | 1fcac5e9836e119970acae9c5702ac83f40a935f /src/playerrelations.cpp | |
parent | 1c62988a9e7ed1038250a2d044889eda046500c5 (diff) | |
download | plus-c0a5fffb45f849e224750f27fa8c3be5ac447ad6.tar.gz plus-c0a5fffb45f849e224750f27fa8c3be5ac447ad6.tar.bz2 plus-c0a5fffb45f849e224750f27fa8c3be5ac447ad6.tar.xz plus-c0a5fffb45f849e224750f27fa8c3be5ac447ad6.zip |
Add more checks.
Fix error in event.cpp from last commits.
Improve party members sorting.
Diffstat (limited to 'src/playerrelations.cpp')
-rw-r--r-- | src/playerrelations.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/playerrelations.cpp b/src/playerrelations.cpp index 8af37aa7d..00a9d1cad 100644 --- a/src/playerrelations.cpp +++ b/src/playerrelations.cpp @@ -67,7 +67,7 @@ class PlayerConfSerialiser : std::pair<std::string, PlayerRelation *> value, ConfigurationObject *cobj) { - if (!value.second) + if (!cobj || !value.second) return NULL; cobj->setValue(NAME, value.first); cobj->setValue(RELATION, toString( @@ -80,6 +80,8 @@ class PlayerConfSerialiser : readConfigItem(ConfigurationObject *cobj, std::map<std::string, PlayerRelation *> *container) { + if (!cobj) + return container; std::string name = cobj->getValue(NAME, ""); if (name.empty()) return container; @@ -154,6 +156,9 @@ int PlayerRelationsManager::getPlayerIgnoreStrategyIndex( std::vector<PlayerIgnoreStrategy *> *strategies = getPlayerIgnoreStrategies(); + if (!strategies) + return -1; + for (unsigned int i = 0; i < strategies->size(); i++) { if ((*strategies)[i]->mShortName == name) @@ -231,8 +236,6 @@ void PlayerRelationsManager::store() void PlayerRelationsManager::signalUpdate(const std::string &name) { -// store(); - for (std::list<PlayerRelationsListener *>::const_iterator it = mListeners.begin(); it != mListeners.end(); ++it) { @@ -322,7 +325,7 @@ void PlayerRelationsManager::setRelation(const std::string &player_name, PlayerRelation::Relation relation) { PlayerRelation *r = mRelations[player_name]; - if (r == NULL) + if (!r) mRelations[player_name] = new PlayerRelation(relation); else r->mRelation = relation; |