1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-02-04 12:39:55 +00:00

Prevent potentially returning garbage flags

This commit is contained in:
Evil Eye 2022-10-17 09:37:56 +02:00 committed by uramer
parent c8a594d9d2
commit a207b5e419
3 changed files with 7 additions and 4 deletions

View File

@ -89,7 +89,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

@ -424,9 +424,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

@ -82,7 +82,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;