summaryrefslogtreecommitdiff
path: root/cad/spice/files/patch-bd
diff options
context:
space:
mode:
authorJoerg Wunsch <joerg@FreeBSD.org>2002-08-25 19:01:49 +0000
committerJoerg Wunsch <joerg@FreeBSD.org>2002-08-25 19:01:49 +0000
commit5e922b51eab8c16f0853193b59dcae3cff477fea (patch)
treeaa9527071b6631bbcd5afdbd49572955854534ff /cad/spice/files/patch-bd
parentWhen destroying a graph, don't attempt to dereference the contents of (diff)
Do not destroy the graph to be printed too early.
Another old patch of mine the maintainer never responded to.
Diffstat (limited to '')
-rw-r--r--cad/spice/files/patch-bd27
1 files changed, 27 insertions, 0 deletions
diff --git a/cad/spice/files/patch-bd b/cad/spice/files/patch-bd
new file mode 100644
index 000000000000..cd9e272a2e75
--- /dev/null
+++ b/cad/spice/files/patch-bd
@@ -0,0 +1,27 @@
+--- src/lib/fte/doplot.c.orig Fri Mar 22 21:02:55 2002
++++ src/lib/fte/doplot.c Fri Mar 22 22:14:07 2002
+@@ -147,10 +147,23 @@
+ DevSwitch(NULL);
+ return;
+ }
++ /*
++ * Since the hardcopy output routines rely on currentgraph
++ * being set, we need to set it to our tempgraph. Note
++ * that DevSwitch(NULL) causes the Close() function of the
++ * hardcopy device to be called which will in turn
++ * finalize the output, thus still needs a valid
++ * currentgraph. For that reason, we may only pop the
++ * context after calling it, and likewise we should not
++ * destroy the tempgraph until the hardcopy device has
++ * been closed.
++ */
++ PushGraphContext(tempgraph);
+ gr_resize(tempgraph);
+ gr_redraw(tempgraph);
+- DestroyGraph(tempgraph->graphid);
+ DevSwitch(NULL);
++ PopGraphContext();
++ DestroyGraph(tempgraph->graphid);
+ foundit = 1;
+ }
+ }