diff options
author | Hisham <hisham@gobolinux.org> | 2016-02-02 23:20:11 +0000 |
---|---|---|
committer | Hisham <hisham@gobolinux.org> | 2016-02-02 23:20:11 +0000 |
commit | d311e85b91f226914de1f56f67590191b419b45f (patch) | |
tree | 1bb0347ea6795c8a071bca55cbed90985dbab80e /Meter.c | |
parent | c148907e7b5bf695557413c5a3da2d48ccf056b4 (diff) |
Avoid crash on huge screens.
Fix by @Explorer09 (see discussion on #355).
Diffstat (limited to 'Meter.c')
-rw-r--r-- | Meter.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -407,7 +407,12 @@ static void GraphMeterMode_draw(Meter* this, int x, int y, int w) { data->values[nValues - 1] = value; } - for (int i = nValues - (w*2) + 2, k = 0; i < nValues; i+=2, k++) { + int i = nValues - (w*2) + 2, k = 0; + if (i < 0) { + k = -i/2; + i = 0; + } + for (; i < nValues; i+=2, k++) { int pix = GraphMeterMode_pixPerRow * GRAPH_HEIGHT; int v1 = CLAMP(data->values[i] * pix, 1, pix); int v2 = CLAMP(data->values[i+1] * pix, 1, pix); |