************************************************************************** Fixes.txt This file describes fixed bugs in the latest versions of the AGD-Library. ************************************************************************** Version 1.2: -------------- * Fixed error in CompactionPair. MIN_COST_FLOW() of LEDA has problems with loops that have an associated lower bound. This causes crashes and infinite loops when drawing trees/forests with an algorithm that uses FlowCompaction . Version 1.1.2: -------------- * SPQRTree, PlanarSPQRTree: memory leak in Cstr. fixed * planar_biconnected_graph() deletes now the list of faces, if planarMap is false. This avoids a crash that can occur, when making a copy of the created graph (e.g., "graph G_copy = G;"). * PlanarizationLayout: postcondition for planarizer option was wrong ("initial module not possible!" error) * StPlanarGridLayout: call functions did not set all grid-node sizes (internally) to zero. Could lead to error message "get_bends: nodes are overlapping". * StPlanarLayout, StPlanarGridLayout: call_plane interfaces assumed that the edges in the adjacency lists were in clockwise order, whereas all other planr layout algorithms and TopologyModule assume counter- clockwise order. Now, each algorithms assumes counter-clockwise order. * SPQRTree::SPQRTree(const leda_graph &G, leda_edge e, bool is_map = false) : did not allocate enough node data slots. Version 1.1.1: -------------- * Replaced agd_node/edge map's by LEDA's node/edge_map's, because former bug in LEDA's node/edge_map's was fixed. * PlanAug::clone(): did not copied parameter size_strategy * OptPlanAug::clone() was missing: Calling clone() for an instance of OptPlanAug returned a PlanAug module. * Some concept classes for layout algorithm did not support all call interfaces for LayoutModule's and GridLayoutModule's, respectively. The reason was, that this is in many case not senseful, e.g., calling an algorithm for acyclic directed graphs with a planar map (which contains for each edge also their reversal) cannot work. Therefore, we made the following change: Layout algorithm are not required to support all call interfaces (except for the basic interfaces for const graph's). They declare now in their general postcondition (postcondition(0)), which additional interfaces they support (see also Changes.txt). * pr_item AGDModule::add_post_rule(..., int i): did not allow to add post rules with index i = 0. Version 1.0.1: -------------- * Output of PSInterface corrected. * Bug in OrthogonalLayout and QuasiOrthogonalLayout that appeared, when graphs without edges have been drawn. * Bug in OrthogonalRepresentation::dissect (edge crossings could occur after compaction). * Added precondition 'connected' in PureOrthogonalLayout in order to avoid crashes when drawing disconnected graphs. * Bug in MixedModelLayout (special treatment of degree-1 nodes). * Crashes in OrthogonalRepresentation and PlaneGraphCopy under Windows 95/98/NT. Occured when calling OrthogonalLayout or QuasiOrthogonal- Layout (also used in PlanarizationLayout and PlanarizationGridLayout). Fixed by using new agd_node/edge_map's instead of LEDA's.