From 96809f76b90c2515a9689616753ff38fe6deef2d Mon Sep 17 00:00:00 2001 From: Przemek Pawlas <3606072+Destroy666x@users.noreply.github.com> Date: Thu, 8 Feb 2024 20:43:56 +0100 Subject: [PATCH] Fix token permissions warning when it's invalid --- plugins/twitch/token.cpp | 20 +++++++++++++++++--- plugins/twitch/token.hpp | 1 + 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/plugins/twitch/token.cpp b/plugins/twitch/token.cpp index 5dbbaa39..ad05d0b4 100644 --- a/plugins/twitch/token.cpp +++ b/plugins/twitch/token.cpp @@ -183,25 +183,39 @@ void TwitchToken::Save(obs_data_t *obj) const obs_data_set_array(obj, "options", options); } -bool TwitchToken::OptionIsEnabled(const TokenOption &option) const +bool TwitchToken::OptionIsActive(const TokenOption &option) const { for (const auto &activeOption : _tokenOptions) { if (activeOption.apiId == option.apiId) { return true; } } + return false; } +bool TwitchToken::OptionIsEnabled(const TokenOption &option) const +{ + if (!IsValid()) { + return false; + } + + return OptionIsActive(option); +} + bool TwitchToken::AnyOptionIsEnabled( const std::vector &options) const { + if (!IsValid()) { + return false; + } + if (options.empty()) { return true; } for (const auto &tokenOption : options) { - if (OptionIsEnabled(tokenOption)) { + if (OptionIsActive(tokenOption)) { return true; } } @@ -401,7 +415,7 @@ static QCheckBox *addOption(const TokenOption &option, const TwitchToken &token, label->setWordWrap(true); layout->addWidget(label, row, 1); auto checkBox = new QCheckBox(); - checkBox->setChecked(token.OptionIsEnabled(option)); + checkBox->setChecked(token.OptionIsActive(option)); layout->addWidget(checkBox, row, 0); row++; return checkBox; diff --git a/plugins/twitch/token.hpp b/plugins/twitch/token.hpp index 17b124fd..1e3236ef 100644 --- a/plugins/twitch/token.hpp +++ b/plugins/twitch/token.hpp @@ -41,6 +41,7 @@ public: void Load(obs_data_t *obj); void Save(obs_data_t *obj) const; std::string GetName() { return _name; } + bool OptionIsActive(const TokenOption &option) const; bool OptionIsEnabled(const TokenOption &option) const; bool AnyOptionIsEnabled(const std::vector &options) const; void SetToken(const std::string &);