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/


Reply via email to