]> granicus.if.org Git - graphviz/commitdiff
Fix clipping bug in case when virtual edge is reverse of real edge
authorerg <devnull@localhost>
Fri, 10 Jun 2005 22:35:35 +0000 (22:35 +0000)
committererg <devnull@localhost>
Fri, 10 Jun 2005 22:35:35 +0000 (22:35 +0000)
lib/common/splines.c

index 7a261956b46a4bb3ed07a77b76ad506540f9a023..f51a8f051965ed0a8b7507a8f1e0dae78e8bac1a 100644 (file)
@@ -453,7 +453,10 @@ beginpath(path * P, edge_t * e, int et, pathend_t * endp, boolean merge)
            break;
        }
        for (orig = e; ED_edge_type(orig) != NORMAL; orig = ED_to_orig(orig));
-       ED_tail_port(orig).clip = FALSE;
+       if (n == orig->tail)
+           ED_tail_port(orig).clip = FALSE;
+       else
+           ED_head_port(orig).clip = FALSE;
        endp->sidemask = side;
        return;
     }
@@ -603,7 +606,10 @@ void endpath(path * P, edge_t * e, int et, pathend_t * endp, boolean merge)
            break;
        }
        for (orig = e; ED_edge_type(orig) != NORMAL; orig = ED_to_orig(orig));
-       ED_head_port(orig).clip = FALSE;
+       if (n == orig->head)
+           ED_head_port(orig).clip = FALSE;
+       else
+           ED_tail_port(orig).clip = FALSE;
        endp->sidemask = side;
        return;
     }