static void record_addfont(struct _gfxdevice*dev, gfxfont_t*font)
{
internal_t*i = (internal_t*)dev->internal;
- msg("<trace> record: %08x ADDFONT %s\n", dev);
+ msg("<trace> record: %08x ADDFONT %s\n", dev, font->id);
if(font && !gfxfontlist_hasfont(i->fontlist, font)) {
writer_writeU8(&i->w, OP_ADDFONT);
dumpFont(&i->w, font);
}
finish:
r->dealloc(r);
- gfxfontlist_free(fontlist, 1);
+ /* problem: if we just replayed into a device which stores the
+ font for later use (the record device itself is a nice example),
+ then we can't free it yet */
+ //gfxfontlist_free(fontlist, 1);
+ gfxfontlist_free(fontlist, 0);
}
void gfxresult_record_replay(gfxresult_t*result, gfxdevice_t*device)
{