]> granicus.if.org Git - graphviz/commitdiff
fix breakage to -Tps:cairo, -Tpdf:cairo, -Tsvg:cairo
authorellson <devnull@localhost>
Mon, 22 Oct 2007 21:32:39 +0000 (21:32 +0000)
committerellson <devnull@localhost>
Mon, 22 Oct 2007 21:32:39 +0000 (21:32 +0000)
plugin/pango/gvrender_pango.c

index e8bee88e1e046049b883a24d62c3c0a3ad617f28..61da1d30dda2dc633f0142de1117c88043546632 100644 (file)
@@ -139,10 +139,10 @@ static void cairogen_begin_page(GVJ_t * job)
 #endif
 #endif
 
-    if (job->external_context && job->context) {
-        cr = (cairo_t *) job->context;
+    if (job->context) 
+       cr = (cairo_t *) job->context;
+    if (job->external_context && cr)
         cairo_save(cr);
-    }
     else {
        if (cr)
            cairo_destroy(cr);
@@ -194,6 +194,8 @@ static void cairogen_end_page(GVJ_t * job)
     case FORMAT_PDF:
     case FORMAT_SVG:
        cairo_show_page(cr);
+       cairo_destroy(cr);
+       job->context = NULL;
        break;
 
     case FORMAT_CAIRO:
@@ -206,8 +208,6 @@ static void cairogen_end_page(GVJ_t * job)
 
     if (job->external_context)
        cairo_restore(cr);
-    else
-       job->context = NULL;
 
 #if 0
 #if defined HAVE_FENV_H && defined HAVE_FESETENV && defined HAVE_FEGETENV && defined(HAVE_FEENABLEEXCEPT)