istring: fix istring_prepend() on malloc transition

When transitioning from internal to malloc, the strings were placed in
the wrong order to g_strconcat(). This fixes an issue with undo where
if you hit the boundary in just the right way, your undo stack will do
unexpected things.

Fixes #5506
This commit is contained in:
Christian Hergert 2023-01-10 13:32:38 -08:00
parent 0e1ae6ad11
commit 6a134551b9

View File

@ -133,7 +133,7 @@ istring_prepend (IString *str,
if (!istring_is_inline (str))
old = str->u.str;
str->u.str = g_strconcat (istring_str (str), istring_str (other), NULL);
str->u.str = g_strconcat (istring_str (other), istring_str (str), NULL);
str->n_bytes += other->n_bytes;
str->n_chars += other->n_chars;