From: ellson <devnull@localhost>
Date: Tue, 18 Oct 2005 18:59:31 +0000 (+0000)
Subject: support for "New" graphs
X-Git-Tag: LAST_LIBGRAPH~32^2~7187
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4b377661b14d950de1ef163d9311ba954f8c771a;p=graphviz

support for "New" graphs
---

diff --git a/lib/gvc/gvevent.c b/lib/gvc/gvevent.c
index ebe203007..56758adc0 100644
--- a/lib/gvc/gvevent.c
+++ b/lib/gvc/gvevent.c
@@ -528,17 +528,24 @@ static void gvevent_delete (GVJ_t * job)
 static void gvevent_read (GVJ_t * job, char *filename, char *layout)
 {
     FILE *f;
+    GVC_t *gvc;
 
-    if (job->gvc->g) {
-        gvFreeLayout(job->gvc, job->gvc->g);
-	agclose(job->gvc->g);
+    gvc = job->gvc;
+    if (gvc->g) {
+        gvFreeLayout(gvc, gvc->g);
+	agclose(gvc->g);
     }
-    f = fopen(filename, "r");
-    if (!f)
-	return;   /* FIXME - need some error handling */
-    job->gvc->g = agread(f);
-    fclose(f);
-    gvLayout(job->gvc, job->gvc->g, layout);
+    if (!filename) {
+	gvc->g = agopen("G", AGDIGRAPH);
+    }
+    else {
+	f = fopen(filename, "r");
+	if (!f)
+		return;   /* FIXME - need some error handling */
+	gvc->g = agread(f);
+	fclose(f);
+    }
+    gvLayout(gvc, gvc->g, layout);
 }
 
 static void gvevent_layout (GVJ_t * job, char *layout)