diff options
-rw-r--r-- | src/summary-chart.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/summary-chart.c b/src/summary-chart.c index e9a5dc1..c632bb0 100644 --- a/src/summary-chart.c +++ b/src/summary-chart.c @@ -326,7 +326,12 @@ summary_chart_expose (GtkWidget *widget, GdkEventExpose *ev) max_r = mid_r + logical.width / 2.; arc_height = dtheta * min_r - 4; if (min_r < r/4 + 2 || max_r > r - 2 || logical.height > arc_height) { - pango_layout_set_width (text, PANGO_SCALE * (r*3./4 - 2*BORDER)); + gdouble rr = 3*r/4 - 2*BORDER; + if (logical.height > arc_height) { + min_r = r - BORDER - (logical.height + 4) / dtheta; + rr = MIN (rr, min_r); + } + pango_layout_set_width (text, PANGO_SCALE * rr); pango_layout_set_ellipsize (text, PANGO_ELLIPSIZE_END); pango_layout_get_pixel_extents (text, NULL, &logical); min_r = mid_r - logical.width / 2.; |