diff --git a/src/mensactrl.c b/src/mensactrl.c index 6a89144dffa2e77671cf52195ee4b1ba45784f1e..190e57ba17a46566dd8968fa1a8e37ff343e9c50 100644 --- a/src/mensactrl.c +++ b/src/mensactrl.c @@ -123,7 +123,7 @@ static struct mensa_fb *setup_fb(const char *devname, int hmodules, int vmodules } memset(mensafb->inputfb, 0, mensafb->x_res * mensafb->y_res); - mensafb->fbmem=mmap(NULL, mensafb->size * 2, + mensafb->fbmem=mmap(NULL, mensafb->size * 2 + mensafb->x_res * LINES_PER_MODULE * 2, PROT_READ|PROT_WRITE, MAP_SHARED, mensafb->fd, 0); if (mensafb->fbmem==NULL) { perror("mmap'ing fb"); @@ -131,7 +131,7 @@ static struct mensa_fb *setup_fb(const char *devname, int hmodules, int vmodules free(mensafb); exit(1); } - for (i = 0; i < mensafb->size ; i++) + for (i = 0; i < mensafb->size + mensafb->x_res * LINES_PER_MODULE; i++) mensafb->fbmem[i] = ((6 + i / (mensafb->x_res * LINES_PER_MODULE)) % 7)<<5; mensafb->hmodules = hmodules;