summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2023-04-30 22:29:11 +0000
committerMatthias Clasen <mclasen@redhat.com>2023-04-30 22:29:11 +0000
commit062e3da57dbc49f5608b5ad3ffd4c2c60eabf2b7 (patch)
treeb4ed692591b7cc51110cd2eb60e8f7114502daf7
parent060992aeba64272214ccbaf50232e970a6fca402 (diff)
parentc1fc6c35cf329b595801d9a6d9ccb1f5821ec6a9 (diff)
downloadgtk+-062e3da57dbc49f5608b5ad3ffd4c2c60eabf2b7.tar.gz
Merge branch 'emojichooser-variation-fix' into 'main'
emojichooser: Avoid extraneous variation selectors See merge request GNOME/gtk!5898
-rw-r--r--gtk/gtkemojichooser.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/gtk/gtkemojichooser.c b/gtk/gtkemojichooser.c
index 9288e7342d..d25c4f6c65 100644
--- a/gtk/gtkemojichooser.c
+++ b/gtk/gtkemojichooser.c
@@ -563,12 +563,11 @@ add_emoji (GtkWidget *box,
int i;
PangoLayout *layout;
PangoRectangle rect;
+ gunichar code = 0;
codes = g_variant_get_child_value (item, 0);
for (i = 0; i < g_variant_n_children (codes); i++)
{
- gunichar code;
-
g_variant_get_child (codes, i, "u", &code);
if (code == 0)
code = modifier;
@@ -576,7 +575,10 @@ add_emoji (GtkWidget *box,
p += g_unichar_to_utf8 (code, p);
}
g_variant_unref (codes);
- p += g_unichar_to_utf8 (0xFE0F, p); /* U+FE0F is the Emoji variation selector */
+
+ if (code != 0xFE0F && code != 0xFE0E)
+ p += g_unichar_to_utf8 (0xFE0F, p); /* Append a variation selector, if there isn't one already */
+
p[0] = 0;
label = gtk_label_new (text);