-
It seems that when the undo action reverts a text -> mark-up change (or v.v.) the notifications are inverted, first is emitted the new value notification and successively the property becoming NULL. The result is that gimp_text_buffer_set_{text,mark-up} is called last with NULL, unsetting both text_buffer text and mark-up. The right way to do it is to always prefer "markup" over "text" if markup is present, no matter if the notification was for "markup" or "text".
9b58e2ba