Fix built-in commands not working in special channels (#3288)

Co-authored-by: Paweł <zneix@zneix.eu>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
This commit is contained in:
Mm2PL 2021-10-17 10:45:54 +00:00 committed by GitHub
parent 2bd05fd576
commit c1a3814b7c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 4 deletions

View file

@ -30,6 +30,7 @@
- Bugfix: Fixed some channels still not loading in rare cases. (#3219) - Bugfix: Fixed some channels still not loading in rare cases. (#3219)
- Bugfix: Fixed a bug with usernames or emotes completing from the wrong position. (#3229) - Bugfix: Fixed a bug with usernames or emotes completing from the wrong position. (#3229)
- Bugfix: Fixed second chatterino icon appearing in the dock when restarting on a crash in macOS. (#3268) - Bugfix: Fixed second chatterino icon appearing in the dock when restarting on a crash in macOS. (#3268)
- Bugfix: Fixed built-in Chatterino commands not working in whispers and mentions special channels (#3288)
- Bugfix: Fixed `QCharRef with an index pointing outside the valid range of a QString` warning that was emitted on every Tab press. (#3234) - Bugfix: Fixed `QCharRef with an index pointing outside the valid range of a QString` warning that was emitted on every Tab press. (#3234)
- Dev: Renamed CMake's build option `USE_SYSTEM_QT5KEYCHAIN` to `USE_SYSTEM_QTKEYCHAIN`. (#3103) - Dev: Renamed CMake's build option `USE_SYSTEM_QT5KEYCHAIN` to `USE_SYSTEM_QTKEYCHAIN`. (#3103)
- Dev: Add benchmarks that can be compiled with the `BUILD_BENCHMARKS` CMake flag. Off by default. (#3038) - Dev: Add benchmarks that can be compiled with the `BUILD_BENCHMARKS` CMake flag. Off by default. (#3038)

View file

@ -613,8 +613,11 @@ void CommandController::initialize(Settings &, Paths &paths)
this->registerCommand("/marker", [](const QStringList &words, this->registerCommand("/marker", [](const QStringList &words,
auto channel) { auto channel) {
if (!channel->isTwitchChannel()) auto *twitchChannel = dynamic_cast<TwitchChannel *>(channel.get());
if (twitchChannel == nullptr)
{ {
channel->addMessage(makeSystemMessage(
"The /marker command only works in Twitch channels"));
return ""; return "";
} }
@ -626,8 +629,6 @@ void CommandController::initialize(Settings &, Paths &paths)
return ""; return "";
} }
auto *twitchChannel = dynamic_cast<TwitchChannel *>(channel.get());
// Exact same message as in webchat // Exact same message as in webchat
if (!twitchChannel->isLive()) if (!twitchChannel->isLive())
{ {
@ -935,7 +936,7 @@ QString CommandController::execCommand(const QString &textNoEmoji,
} }
// works only in a valid twitch channel // works only in a valid twitch channel
if (!dryRun && twitchChannel != nullptr) if (!dryRun && channel->isTwitchChannel())
{ {
// check if command exists // check if command exists
const auto it = this->commands_.find(commandName); const auto it = this->commands_.find(commandName);