]> granicus.if.org Git - graphviz/commitdiff
Use real root to check if labels exist, as this is where the bits are set.
authorEmden R. Gansner <erg@alum.mit.edu>
Wed, 7 May 2014 15:35:52 +0000 (11:35 -0400)
committerEmden R. Gansner <erg@alum.mit.edu>
Wed, 7 May 2014 15:35:52 +0000 (11:35 -0400)
lib/dotgen/dotsplines.c
lib/dotgen/position.c
lib/dotgen/rank.c

index 11e9e9651c77b570b483b5fe82bf696be3c13fd0..1fc615730011acac623a3745aab4dd7be468d7d2 100644 (file)
@@ -266,7 +266,7 @@ static void _dot_splines(graph_t * g, int normalize)
     if (et == ET_NONE) return; 
     if (et == ET_CURVED) {
        resetRW (g);
-       if (GD_has_labels(g) & EDGE_LABEL) {
+       if (GD_has_labels(g->root) & EDGE_LABEL) {
            agerr (AGWARN, "edge labels with splines=curved not supported in dot - use xlabels\n");
        }
        for (n = agfstnode (g); n; n = agnxtnode(g, n)) {
@@ -279,7 +279,7 @@ static void _dot_splines(graph_t * g, int normalize)
 #ifdef ORTHO
     if (et == ET_ORTHO) {
        resetRW (g);
-       if (GD_has_labels(g) & EDGE_LABEL) {
+       if (GD_has_labels(g->root) & EDGE_LABEL) {
            setEdgeLabelPos (g);
            orthoEdges (g, 1);
        }
@@ -1558,7 +1558,7 @@ make_flat_edge(graph_t* g, spline_info_t* sp, path * P, edge_t ** edges, int ind
     r = ND_rank(tn);
     if (r > 0) {
        rank_t* prevr;
-       if (GD_has_labels(g) & EDGE_LABEL)
+       if (GD_has_labels(g->root) & EDGE_LABEL)
            prevr = GD_rank(g) + (r-2);
        else
            prevr = GD_rank(g) + (r-1);
@@ -1654,7 +1654,7 @@ makeLineEdge(graph_t* g, edge_t* fe, pointf* points, node_t** hp)
     hn = aghead(e);
     tn = agtail(e);
     delr = ABS(ND_rank(hn)-ND_rank(tn));
-    if ((delr == 1) || ((delr == 2) && (GD_has_labels(g) & EDGE_LABEL)))
+    if ((delr == 1) || ((delr == 2) && (GD_has_labels(g->root) & EDGE_LABEL)))
        return 0;
     if (agtail(fe) == agtail(e)) {
        *hp = hn;
@@ -1796,7 +1796,7 @@ make_regular_edge(graph_t* g, spline_info_t* sp, path * P, edge_t ** edges, int
            boxes[boxn++] = rank_box(sp, g, ND_rank(tn));
            if (!smode
                && ((sl = straight_len(hn)) >=
-               ((GD_has_labels(g) & EDGE_LABEL) ? 4 + 1 : 2 + 1))) {
+               ((GD_has_labels(g->root) & EDGE_LABEL) ? 4 + 1 : 2 + 1))) {
                smode = TRUE;
                si = 1, sl -= 2;
            }
index b81cd87621258ac39ad3fa7abeae76e8d931308e..987242b0b697e2d9a544eb796283a1a88d072c92 100644 (file)
@@ -222,7 +222,7 @@ make_LR_constraints(graph_t * g)
     rank_t *rank = GD_rank(g);
 
     /* Use smaller separation on odd ranks if g has edge labels */
-    if (GD_has_labels(g) & EDGE_LABEL) {
+    if (GD_has_labels(g->root) & EDGE_LABEL) {
        sep[0] = GD_nodesep(g);
        sep[1] = 5;
     }
index 042612b2646c45073ec99824b25d16f9c7ab8924..4f32f1a6244a86005288d0ee6d5f97d87534785d 100644 (file)
@@ -96,7 +96,7 @@ edgelabel_ranks(graph_t * g)
     node_t *n;
     edge_t *e;
 
-    if (GD_has_labels(g) & EDGE_LABEL) {
+    if (GD_has_labels(g->root) & EDGE_LABEL) {
        for (n = agfstnode(g); n; n = agnxtnode(g, n))
            for (e = agfstout(g, n); e; e = agnxtout(g, e))
                ED_minlen(e) *= 2;