]> granicus.if.org Git - graphviz/commitdiff
Fix test for no layout. With cgraph, we first have to check that the Agraphinfo_t...
authorEmden R. Gansner <erg@alum.mit.edu>
Tue, 25 Feb 2014 16:42:42 +0000 (11:42 -0500)
committerEmden R. Gansner <erg@alum.mit.edu>
Tue, 25 Feb 2014 16:42:42 +0000 (11:42 -0500)
exist before using GD_drawing.

lib/common/emit.c
lib/gvc/gvc.c
lib/gvc/gvc.h

index ff957f155176bd917dfe9288a89306d2e4fad779..5bb21f8c161269100413a4dae0c0bd53e61a592a 100644 (file)
@@ -4001,7 +4001,7 @@ int gvRenderJobs (GVC_t * gvc, graph_t * g)
     if (Verbose)
        start_timer();
     
-    if (!GD_drawing(g)) {
+    if (!LAYOUT_DONE(g)) {
         agerr (AGERR, "Layout was not done.  Missing layout plugins? \n");
        FINISH();
         return -1;
index 040471a1401691f956233b02b808f5e1e25c8925..8fbcd7c8f551f4a9d9118b697afaa05d0d7d80f0 100644 (file)
@@ -111,8 +111,8 @@ int gvRender(GVC_t *gvc, graph_t *g, const char *format, FILE *out)
     }
 
     job->output_lang = gvrender_select(job, job->output_langname);
-    if (!GD_drawing(g) && !(job->flags & LAYOUT_NOT_REQUIRED)) {
-       fprintf(stderr, "Layout was not done\n");
+    if (!LAYOUT_DONE(g) && !(job->flags & LAYOUT_NOT_REQUIRED)) {
+       agerrorf( "Layout was not done\n");
        return -1;
     }
     job->output_file = out;
@@ -143,8 +143,8 @@ int gvRenderFilename(GVC_t *gvc, graph_t *g, const char *format, const char *fil
     }
 
     job->output_lang = gvrender_select(job, job->output_langname);
-    if (!GD_drawing(g) && !(job->flags & LAYOUT_NOT_REQUIRED)) {
-       fprintf(stderr, "Layout was not done\n");
+    if (!LAYOUT_DONE(g) && !(job->flags & LAYOUT_NOT_REQUIRED)) {
+       agerrorf( "Layout was not done\n");
        return -1;
     }
     gvjobs_output_filename(gvc, filename);
@@ -174,8 +174,8 @@ int gvRenderContext(GVC_t *gvc, graph_t *g, const char *format, void *context)
     }
        
     job->output_lang = gvrender_select(job, job->output_langname);
-    if (!GD_drawing(g) && !(job->flags & LAYOUT_NOT_REQUIRED)) {
-               fprintf(stderr, "Layout was not done\n");
+    if (!LAYOUT_DONE(g) && !(job->flags & LAYOUT_NOT_REQUIRED)) {
+       agerrorf( "Layout was not done\n");
                return -1;
     }
        
@@ -208,8 +208,8 @@ int gvRenderData(GVC_t *gvc, graph_t *g, const char *format, char **result, unsi
     }
 
     job->output_lang = gvrender_select(job, job->output_langname);
-    if (!GD_drawing(g) && !(job->flags & LAYOUT_NOT_REQUIRED)) {
-       fprintf(stderr, "Layout was not done\n");
+    if (!LAYOUT_DONE(g) && !(job->flags & LAYOUT_NOT_REQUIRED)) {
+       agerrorf( "Layout was not done\n");
        return -1;
     }
 
index a60366b2c42b6575107242b02348d4184de25901..1b1402568011b944cfb0831f1e50d22e22c997b6 100644 (file)
@@ -35,6 +35,8 @@ extern "C" {
 #endif
 /*end visual studio*/
        
+#define LAYOUT_DONE(g) (agbindrec(g, "Agraphinfo_t", 0, TRUE) && GD_drawing(g))
+
 /* misc */
 /* FIXME - this needs eliminating or renaming */
 extern void gvToggle(int);