]> granicus.if.org Git - graphviz/commitdiff
smyrna: fix miscalculation of bounding box
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 24 Sep 2022 00:58:12 +0000 (17:58 -0700)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Sun, 25 Sep 2022 20:25:38 +0000 (13:25 -0700)
This was a mistake in 014e38a46747be84e6f639389dd27683ad37867e that intended to
squash compiler warnings but accidentally pinned `top` and `bottom` to the limit
values, regardless of the bounding box.

Gitlab: #2279
Reported-by: Gagan Sidhu <gagan@g-a.ca>
CHANGELOG.md
cmd/smyrna/topviewfuncs.c

index f0756e9a1ec277e86a5a5479e511a30503d8582a..4e24adad414fa548ad9036f173f56beae97ec713 100644 (file)
@@ -10,6 +10,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 
 - Using `aspect` with a custom value in the `packmode` attribute is no longer
   misparsed.
+- Smyrna bounding box computation has been corrected. There was a regression in
+  4.0.0 that resulted in a degenerate bounding box being computed for any input
+  graph. See #2279 for details.
 
 ## [6.0.1] – 2022-09-11
 
index 56fb9a9318677269609706ca413fe680a5ae837c..23a9165de7025ac39742d47297e2c0b3088a52c2 100644 (file)
@@ -54,7 +54,7 @@ static void set_boundaries(Agraph_t * g)
     Agnode_t *v;
     Agsym_t* pos_attr = GN_pos(g);
     glCompPoint pos;
-    float left = FLT_MAX, right = -FLT_MAX, top = FLT_MAX, bottom = -FLT_MAX;
+    float left = FLT_MAX, right = -FLT_MAX, top = -FLT_MAX, bottom = FLT_MAX;
 
     for (v = agfstnode(g); v; v = agnxtnode(g, v)) 
     {