From d3d561535b5a170989cac86b90831002d1bfe73d Mon Sep 17 00:00:00 2001 From: Mateusz Tomaszkiewicz Date: Wed, 26 Jun 2013 00:47:13 +0200 Subject: [PATCH] gdisp: fixed bug in line drawing function There was a problem when you drew a line from (x0,y0) to (x1,y1) and these points met following conditions: y0 = y1 and x0 > x1. The viewport was set incorrectly to start from (x0,y1) when it should start from (x1,y0) since x1 is lower in this case. (x1,y1) would be also OK since y0 = y1. --- include/gdisp/lld/emulation.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/gdisp/lld/emulation.c b/include/gdisp/lld/emulation.c index c64f8259..49a26697 100644 --- a/include/gdisp/lld/emulation.c +++ b/include/gdisp/lld/emulation.c @@ -54,7 +54,7 @@ GDISPDriver GDISP; if (x1 > x0) gdisp_lld_fill_area(x0, y0, x1-x0+1, 1, color); else - gdisp_lld_fill_area(x0, y1, x0-x1+1, 1, color); + gdisp_lld_fill_area(x1, y0, x0-x1+1, 1, color); return; } #endif