diff --git a/CHANGELOG.md b/CHANGELOG.md
index 189ebadcf..d11309f2a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -62,6 +62,7 @@
- Bugfix: Fixed incorrect message being disabled in some cases upon approving or denying an automod caught message. (#5611)
- Bugfix: Fixed double-click selection not working when clicking outside a message. (#5617)
- Bugfix: Fixed emotes starting with ":" not tab-completing. (#5603)
+- Bugfix: Fixed 7TV emotes messing with Qt's HTML. (#5677)
- Dev: Update Windows build from Qt 6.5.0 to Qt 6.7.1. (#5420)
- Dev: Update vcpkg build Qt from 6.5.0 to 6.7.0, boost from 1.83.0 to 1.85.0, openssl from 3.1.3 to 3.3.0. (#5422)
- Dev: Unsingletonize `ISoundController`. (#5462)
diff --git a/src/providers/seventv/SeventvEmotes.cpp b/src/providers/seventv/SeventvEmotes.cpp
index 3df627934..b19a61304 100644
--- a/src/providers/seventv/SeventvEmotes.cpp
+++ b/src/providers/seventv/SeventvEmotes.cpp
@@ -79,7 +79,8 @@ bool isZeroWidthRecommended(const QJsonObject &emoteData)
Tooltip createTooltip(const QString &name, const QString &author, bool isGlobal)
{
return Tooltip{QString("%1
%2 7TV Emote
By: %3")
- .arg(name, isGlobal ? "Global" : "Channel",
+ .arg(name.toHtmlEscaped(),
+ isGlobal ? "Global" : "Channel",
author.isEmpty() ? "" : author)};
}
@@ -87,7 +88,8 @@ Tooltip createAliasedTooltip(const QString &name, const QString &baseName,
const QString &author, bool isGlobal)
{
return Tooltip{QString("%1
Alias of %2
%3 7TV Emote
By: %4")
- .arg(name, baseName, isGlobal ? "Global" : "Channel",
+ .arg(name.toHtmlEscaped(), baseName.toHtmlEscaped(),
+ isGlobal ? "Global" : "Channel",
author.isEmpty() ? "" : author)};
}