Graphviz Issue Tracker
Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001044graphvizGraph Librariespublic2006-01-21 00:312011-04-28 04:03
Reporterduckfreezone 
Assigned Toerg 
PrioritynormalSeveritymajorReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSPowerPC-OSX-10.4.4OS Version
Summary0001044: Edge labels missing when manually traversing graph on OSX
Description



If I manually construct a graph using libgraph and then manually traverse it, the
labelled edge is missing its label when run on OSX, but it is present on Linux.
However, on both platforms, the edge label is present when agwrite() is used.



I've attached a test CPP program which demonstrates the problem. Build it as such:
<CD>
 g++ -o gv.o -c gv.cpp -I/usr/local/include/graphviz
 g++ -o gv gv.o -L/usr/local/lib/graphviz -lgraph -lgvc



Linux (Gentoo, gcc 3.4.4) output:



Manually traversing graph...
Node 0000001 @0x804eca8
  Edge 0000001 @0x804ef78
  edge label 'EdgeName' x=63 y=62
Node 0000002 @0x804ee08



Calling agwrite()...
digraph Test {
        node [label="\N"];
        graph [bb="0 0 94 124"];
        Node1 -> Node2 [label=EdgeName];
}



OSX (10.4.4, gcc 4.0.1) output:



Manually traversing graph...
Node 0000001 @0x603560
  Edge 0000001 @0x603840
  edge label not present
Node 0000002 @0x6036d0



Calling agwrite()...
digraph Test {
        node [label="\N"];
        graph [bb="0 0 96 124"];
        Node1 -> Node2 [label=EdgeName];
}
</CD>
Additional Information

[ellson] Probably because agwrite() is just getting the string value of the label from the graph's attribute dictionary,
but your code is trying to get at the postioned label which depends on gvLayout, which depends on freetype.

Did you have any problems with freetype or fontconfig during the installation of graphviz on the Mac?

[erg] This is indeed strange, since the call to make_label() always returns a non-NULL textlabel_t*.
How would this be reset to NULL?

[erg] Since we rely on bool, the C++ compiler saw this as an int, while
the C compiler which built the library saw this as a char. Thus, the offset
in the main program was looking in the wrong place.
TagsNo tags attached.
AUXILLARY-FILES
DATE-FIXED
FIX-COMMENT
FORMER-ID865
INPUT-FILEhttp://www.graphviz.org/bugs/b865.cpp [^]
OUTPUT-FILE
STATUS-COMMENTFixed (27 Jan 2006)
VERSION     2.7.20060120.0540
Attached Files

- Relationships

-  Notes
There are no notes attached to this issue.

- Issue History
Date Modified Username Field Change
2011-04-28 04:03 user1 New Issue
2011-04-28 04:03 user1 Assigned To => erg


MantisBT 1.2.5[^]
Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker