From 2df78db7863840f59d0a1beff5fae7012bce637d Mon Sep 17 00:00:00 2001
From: scuri <scuri>
Date: Fri, 4 Dec 2009 18:12:37 +0000
Subject: *** empty log message ***

---
 src/drv/cdcgm.c |  2 ++
 src/drv/cddxf.c |  1 +
 src/drv/cdpdf.c |  2 +-
 src/drv/cdps.c  |  2 ++
 src/svg/cdsvg.c | 16 ++++++++++++++--
 5 files changed, 20 insertions(+), 3 deletions(-)

(limited to 'src')

diff --git a/src/drv/cdcgm.c b/src/drv/cdcgm.c
index 3049818..ab47c1e 100644
--- a/src/drv/cdcgm.c
+++ b/src/drv/cdcgm.c
@@ -183,6 +183,8 @@ static void cddeactivate(cdCtxCanvas *ctxcanvas)
 static void cdflush(cdCtxCanvas *ctxcanvas)
 {
   long pt;
+
+  fflush(ctxcanvas->cgm->file);
   
   pt = ftell ( ctxcanvas->cgm->file );
   fseek ( ctxcanvas->cgm->file, ctxcanvas->point, SEEK_SET );
diff --git a/src/drv/cddxf.c b/src/drv/cddxf.c
index b4dc875..db05978 100644
--- a/src/drv/cddxf.c
+++ b/src/drv/cddxf.c
@@ -314,6 +314,7 @@ static void cdkillcanvas(cdCtxCanvas *ctxcanvas)
 
 static void cdflush (cdCtxCanvas *ctxcanvas)
 {
+  fflush (ctxcanvas->file);               /* flush file */
   ctxcanvas->layer++;
 }
 
diff --git a/src/drv/cdpdf.c b/src/drv/cdpdf.c
index ffad84b..8faa824 100644
--- a/src/drv/cdpdf.c
+++ b/src/drv/cdpdf.c
@@ -1543,7 +1543,7 @@ static cdContext cdPDFContext =
   CD_CAP_ALL & ~(CD_CAP_CLEAR | CD_CAP_PLAY | CD_CAP_PALETTE | 
                  CD_CAP_REGION | CD_CAP_IMAGESRV | CD_CAP_TEXTSIZE | 
                  CD_CAP_BACKGROUND | CD_CAP_BACKOPACITY | CD_CAP_WRITEMODE | 
-                 CD_CAP_IMAGERGBA | CD_CAP_GETIMAGERGB),
+                 CD_CAP_GETIMAGERGB),
   0,
   cdcreatecanvas,
   cdinittable,
diff --git a/src/drv/cdps.c b/src/drv/cdps.c
index d5d62fe..ef77c4d 100644
--- a/src/drv/cdps.c
+++ b/src/drv/cdps.c
@@ -466,6 +466,8 @@ static void cdflush(cdCtxCanvas *ctxcanvas)
 {
   if (ctxcanvas->debug) fprintf(ctxcanvas->file, "\n%%cdFlush Begin\n");
 
+  fflush(ctxcanvas->file);
+
   if (!ctxcanvas->eps)
   {
     fprintf(ctxcanvas->file, "gsave\n");
diff --git a/src/svg/cdsvg.c b/src/svg/cdsvg.c
index d44e40a..184031c 100644
--- a/src/svg/cdsvg.c
+++ b/src/svg/cdsvg.c
@@ -882,6 +882,16 @@ static void cdpixel(cdCtxCanvas *ctxcanvas, int x, int y, long int color)
     x, y, r, g, b, r, g, b, ctxcanvas->linewidth, ctxcanvas->linecap, ctxcanvas->linejoin, ctxcanvas->linestyle, ctxcanvas->backopacity);
 }
 
+static void cddeactivate (cdCtxCanvas* ctxcanvas)
+{
+  fflush(ctxcanvas->file);
+}
+
+static void cdflush (cdCtxCanvas* ctxcanvas)
+{
+  fflush(ctxcanvas->file);
+}
+
 static void cdcreatecanvas(cdCanvas *canvas, void *data)
 {
   char filename[10240] = "";
@@ -984,15 +994,17 @@ static void cdinittable(cdCanvas* canvas)
 
   canvas->cxTransform = cdtransform;
 
+  canvas->cxFlush = cdflush;
+  canvas->cxDeactivate = cddeactivate;
   canvas->cxKillCanvas = (void (*)(cdCtxCanvas*))cdkillcanvas;
 }
 
 static cdContext cdSVGContext =
 {
-  CD_CAP_ALL & ~(CD_CAP_CLEAR | CD_CAP_FLUSH | CD_CAP_PLAY | CD_CAP_PALETTE | 
+  CD_CAP_ALL & ~(CD_CAP_CLEAR | CD_CAP_PLAY | CD_CAP_PALETTE | 
                  CD_CAP_REGION | CD_CAP_IMAGESRV | CD_CAP_WRITEMODE | 
                  CD_CAP_FONTDIM | CD_CAP_TEXTSIZE | 
-                 CD_CAP_IMAGERGBA | CD_CAP_GETIMAGERGB),
+                 CD_CAP_GETIMAGERGB),
   0,
   cdcreatecanvas,
   cdinittable,
-- 
cgit v1.2.3