Prevent graph from drawing overflow

This commit is contained in:
MicroJoe 2012-07-07 19:10:37 +02:00
parent 6d5ffbe33f
commit 29e9cee5fb

View File

@ -72,6 +72,7 @@ static void
status_graph_draw(struct status_ctx *ctx, struct status_seq *sq, struct status_gcache *gc) status_graph_draw(struct status_ctx *ctx, struct status_seq *sq, struct status_gcache *gc)
{ {
int i, j, y; int i, j, y;
float c;
int ys = sq->geo.y + sq->geo.h - 1; int ys = sq->geo.y + sq->geo.h - 1;
XSetForeground(W->dpy, W->gc, sq->color2); XSetForeground(W->dpy, W->gc, sq->color2);
@ -83,7 +84,8 @@ status_graph_draw(struct status_ctx *ctx, struct status_seq *sq, struct status_g
/* You divided by zero didn't you? */ /* You divided by zero didn't you? */
if(gc->datas[j]) if(gc->datas[j])
{ {
y = ys - (sq->geo.h / ((float)sq->data[2] / (float)gc->datas[j])) + 1; c = (float)sq->data[2] / (float)gc->datas[j];
y = ys - (sq->geo.h / (c > 1 ? c : 1)) + 1;
draw_line(ctx->barwin->dr, i, y, i, ys); draw_line(ctx->barwin->dr, i, y, i, ys);
} }
} }