summaryrefslogtreecommitdiff
path: root/cad
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
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.
Notes
Notes: svn path=/head/; revision=64993
Diffstat (limited to 'cad')
-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;
+ }
+ }