The hypothesis behind this would be: The rendering apparently leads to increasing glyph matrix sizes; maybe it does something with fonts, no idea. The memset clears all glyphs which I can only imagine to play a role when we somewhere in the display code compare desired and current glyphs, and that fails with the memset and didn't fail without it. Where that might be I have no idea. Anyway, with the loop in my diff it should be as before, and glyph::frame is unused in the window-system case, so...