1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-03-03 09:09:40 +00:00

Prevent potentially returning garbage flags

This commit is contained in:
Evil Eye 2022-10-17 09:37:56 +02:00
parent 7e8da3dc9c
commit 53c03b65cf
3 changed files with 7 additions and 4 deletions

View file

@ -90,7 +90,7 @@ namespace MWBase
};
virtual std::list<std::string> getAvailableTopics() = 0;
virtual int getTopicFlag(const std::string&) = 0;
virtual int getTopicFlag(const std::string&) const = 0;
virtual bool checkServiceRefused (ResponseCallback* callback, ServiceType service = ServiceType::Any) = 0;

View file

@ -422,9 +422,12 @@ namespace MWDialogue
return keywordList;
}
int DialogueManager::getTopicFlag(const std::string& topicId)
int DialogueManager::getTopicFlag(const std::string& topicId) const
{
return mActorKnownTopics[topicId].mFlags;
auto known = mActorKnownTopics.find(topicId);
if (known != mActorKnownTopics.end())
return known->second.mFlags;
return 0;
}
void DialogueManager::keywordSelected (const std::string& keyword, ResponseCallback* callback)

View file

@ -83,7 +83,7 @@ namespace MWDialogue
bool startDialogue (const MWWorld::Ptr& actor, ResponseCallback* callback) override;
std::list<std::string> getAvailableTopics() override;
int getTopicFlag(const std::string& topicId) override;
int getTopicFlag(const std::string& topicId) const override;
bool inJournal (const std::string& topicId, const std::string& infoId) override;