aboutsummaryrefslogtreecommitdiffstats
path: root/math/gnuplot+/files/patch-xc
diff options
context:
space:
mode:
Diffstat (limited to 'math/gnuplot+/files/patch-xc')
-rw-r--r--math/gnuplot+/files/patch-xc26
1 files changed, 26 insertions, 0 deletions
diff --git a/math/gnuplot+/files/patch-xc b/math/gnuplot+/files/patch-xc
new file mode 100644
index 000000000000..43b861cb924a
--- /dev/null
+++ b/math/gnuplot+/files/patch-xc
@@ -0,0 +1,26 @@
+# hidden3d-endlessloop
+--- hidden3d.c.ORIG Thu Aug 19 15:39:28 1999
++++ hidden3d.c Wed Nov 17 17:42:00 1999
+@@ -2140,14 +2140,20 @@
+ test->tested = is_moved_or_split;
+ SPLIT_TEST_BY_P;
+ } else {
+- if (loop && (p->tested == is_tested)) {
+- /* Ouch, seems like we're in trouble, really */
++ if (loop && (p->tested == is_in_loop)) {
++ /* Ouch, seems like we're in trouble, really: no way to
++ * split one of them, and we're in a loop, so we can't
++ * move p to the front of the list, without risking an
++ * endless loop. Well, let's just output the darn thing,
++ * then, no matter what. :-( */
++#if DEBUG /* normally off */
+ fprintf(stderr, "\
+ #Failed: In loop, without intersections.\n\
+ #Relations are %d, %d\n",
+ p_rel_tplane, t_rel_pplane);
+ print_polygon(test, "test");
+ print_polygon(p, "p");
++#endif
+ continue; /* Keep quiet, maybe no-one will notice (;-) */
+ } else {
+ PUT_P_IN_FRONT_TEST(is_in_loop);