polygon intersector: added horizontal line reconstruction
[swftools.git] / lib / devices / record.c
index 5ea7d1b..a8a0088 100644 (file)
@@ -348,7 +348,7 @@ static void record_fillgradient(struct _gfxdevice*dev, gfxline_t*line, gfxgradie
 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);
@@ -549,7 +549,11 @@ static void replay(struct _gfxdevice*dev, gfxdevice_t*out, void*data, int length
     }
 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)
 {