summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/summary-chart.c7
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.;