summaryrefslogtreecommitdiff
path: root/indra/newview/lltoastnotifypanel.cpp
diff options
context:
space:
mode:
authorErik Kundiman <erik@megapahit.org>2026-06-13 14:20:22 +0800
committerErik Kundiman <erik@megapahit.org>2026-06-13 17:44:11 +0800
commit191669d38d232d2bd61a0dd2252c7a3543a2b467 (patch)
treec1783f307fd217f38b31cebbe830ba0481925f8a /indra/newview/lltoastnotifypanel.cpp
parent47b583e9caa3388cd41f70e8de0a5a950082979d (diff)
parent663bf4d3eba16e1d0a781ac5261541e7e2d6b4f2 (diff)
Merge tag 'Second_Life_Release#663bf4d3-26.3' into 26.3
Diffstat (limited to 'indra/newview/lltoastnotifypanel.cpp')
-rw-r--r--indra/newview/lltoastnotifypanel.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/indra/newview/lltoastnotifypanel.cpp b/indra/newview/lltoastnotifypanel.cpp
index 0c4a9c81c2..3de61dffc7 100644
--- a/indra/newview/lltoastnotifypanel.cpp
+++ b/indra/newview/lltoastnotifypanel.cpp
@@ -38,6 +38,7 @@
#include "llnotifications.h"
#include "lluiconstants.h"
#include "llrect.h"
+#include "llstring.h"
#include "lltrans.h"
#include "llnotificationsutil.h"
#include "llviewermessage.h"
@@ -91,8 +92,24 @@ LLButton* LLToastNotifyPanel::createButton(const LLSD& form_element, bool is_opt
std::string name = form_element["name"].asString();
std::string text = form_element["text"].asString();
bool make_small_btn = index == -1 || index == -2; // for block and ignore buttons in script dialog
+
+ // Use Emoji font as exception if text contains red heart emoji (10084 U+2764) to ensure proper rendering
+ std::string font_name = mIsScriptDialog ? sFontScript : sFontDefault;
+ if (mIsScriptDialog)
+ {
+ LLWString wtext = utf8str_to_wstring(text);
+ for (llwchar ch : wtext)
+ {
+ if (ch == 0x2764)
+ {
+ font_name = "Emoji";
+ break;
+ }
+ }
+ }
+
const LLFontGL* font = LLFontGL::getFont(LLFontDescriptor(
- mIsScriptDialog ? sFontScript : sFontDefault, make_small_btn ? "Small" : "Medium", 0));
+ font_name, make_small_btn ? "Small" : "Medium", 0));
p.name = name;
p.label = text;
p.tool_tip = text;