Follow-up Comment #1, bug #60030 (project screen):
Try this:
diff --git a/src/encoding.c b/src/encoding.c
index 11c3c41..e1ea364 100644
--- a/src/encoding.c
+++ b/src/encoding.c
@@ -1164,7 +1164,9 @@ void utf8_handle_comb(unsigned int c, struct mchar *mc)
if (c1 >= 0xd800 && c1 < 0xe000)
comb_tofront(root, c1 - 0xd800);
i = combchars[root]->prev;
- if (c1 == i + 0xd800) {
+ if (i == (unsigned int)root)
+ i = combchars[root ^ 1]->prev; /* steal from other
root */
+ if (i == 0x800 || i == 0x801 || c1 == i + 0xd800) {
/* completely full, can't recycle */
mc->image = '?';
mc->font = 0;
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?60030>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/