diff --git a/CHANGELOG.md b/CHANGELOG.md index b171d18e27e..b33ee594059 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -50,7 +50,7 @@ - Bugfix: Fixed empty page being added when showing out of bounds dialog. (#4849) - Bugfix: Fixed an issue preventing searching a redemption by it's title when the redemption contained text input. (#5117) - Bugfix: Fixed issue on Windows preventing the title bar from being dragged in the top left corner. (#4873) -- Bugfix: Fixed an issue where reply context didn't render correctly if an emoji was touching text. (#4875, #4977) +- Bugfix: Fixed an issue where reply context didn't render correctly if an emoji was touching text. (#4875, #4977, #5174) - Bugfix: Fixed the input completion popup from disappearing when clicking on it on Windows and macOS. (#4876) - Bugfix: Fixed double-click text selection moving its position with each new message. (#4898) - Bugfix: Fixed an issue where notifications on Windows would contain no or an old avatar. (#4899) diff --git a/src/messages/MessageElement.cpp b/src/messages/MessageElement.cpp index 56cc5b7bbc7..e0572b9f9d1 100644 --- a/src/messages/MessageElement.cpp +++ b/src/messages/MessageElement.cpp @@ -608,7 +608,7 @@ void SingleLineTextElement::addToContainer(MessageLayoutContainer &container, return e; }; - static const auto ellipsis = QStringLiteral("..."); + static const auto ellipsis = QStringLiteral("…"); // String to continuously append words onto until we place it in the container // once we encounter an emote or reach the end of the message text. */ @@ -628,6 +628,7 @@ void SingleLineTextElement::addToContainer(MessageLayoutContainer &container, currentText += ' '; } + bool done = false; for (const auto &parsedWord : app->getEmotes()->getEmojis()->parse(word.text)) { @@ -641,6 +642,7 @@ void SingleLineTextElement::addToContainer(MessageLayoutContainer &container, container.remainingWidth()); if (currentText != prev) { + done = true; break; } } @@ -663,6 +665,7 @@ void SingleLineTextElement::addToContainer(MessageLayoutContainer &container, emoteSize.width())) { currentText += ellipsis; + done = true; break; } @@ -678,6 +681,11 @@ void SingleLineTextElement::addToContainer(MessageLayoutContainer &container, } } } + + if (done) + { + break; + } } // Add the last of the pending message text to the container.