From 7f47a4fe1044be7e21c1d1bc3ece1e657dbee224 Mon Sep 17 00:00:00 2001 From: bsongis Date: Sun, 20 Jul 2014 18:50:55 +0200 Subject: [PATCH] Fixes #1542 --- radio/src/lcd_taranis.cpp | 2 +- radio/src/tests/lcd.cpp | 10 ++++++++++ radio/src/tests/vline_lt0_128x64.png | Bin 0 -> 272 bytes radio/src/tests/vline_lt0_212x64.png | Bin 0 -> 294 bytes 4 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 radio/src/tests/vline_lt0_128x64.png create mode 100644 radio/src/tests/vline_lt0_212x64.png diff --git a/radio/src/lcd_taranis.cpp b/radio/src/lcd_taranis.cpp index 01ab6337e..121698355 100755 --- a/radio/src/lcd_taranis.cpp +++ b/radio/src/lcd_taranis.cpp @@ -92,7 +92,7 @@ void lcd_vlineStip(xcoord_t x, int8_t y, int8_t h, uint8_t pat, LcdFlags att) if (x >= LCD_W) return; if (y >= LCD_H) return; if (h<0) { y+=h; h=-h; } - if (y<0) { h+=y; y=0; } + if (y<0) { h+=y; y=0; if (h<=0) return; } if (y+h > LCD_H) { h = LCD_H - y; } if (pat==DOTTED && !(y%2)) { diff --git a/radio/src/tests/lcd.cpp b/radio/src/tests/lcd.cpp index 8c6e80320..a2bbc5d7d 100644 --- a/radio/src/tests/lcd.cpp +++ b/radio/src/tests/lcd.cpp @@ -192,6 +192,16 @@ TEST(Lcd, vline) EXPECT_TRUE(checkScreenshot("vline")); } +#if defined(CPUARM) +TEST(Lcd, vline_x_lt0) +{ + lcd_clear(); + lcd_vline(50, -10, 12); + lcd_vline(100, -10, 1); + EXPECT_TRUE(checkScreenshot("vline_lt0")); +} +#endif + #if defined(CPUARM) TEST(Lcd, Smlsize) { diff --git a/radio/src/tests/vline_lt0_128x64.png b/radio/src/tests/vline_lt0_128x64.png new file mode 100644 index 0000000000000000000000000000000000000000..90c3dc44c9e0e331fd2b801d8c7ef32d748a4bde GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h5*Qq09po*^6@9Je3(KLBz$3p^r= z85p=bL736}&b<_tLzD^2e=wU8MGO~7}hXEFm7O?v%ojTm8;oZlT|cs0-ev`>FVdQ I&MBb@08!ying9R* literal 0 HcmV?d00001 diff --git a/radio/src/tests/vline_lt0_212x64.png b/radio/src/tests/vline_lt0_212x64.png new file mode 100644 index 0000000000000000000000000000000000000000..0bb79e914798b2b6edb1fa565a48142ac5a6c865 GIT binary patch literal 294 zcmeAS@N?(olHy`uVBq!ia0vp^SAf`og9%8!^*$#Bq?n7HJVQ7*IBq}me*oli7I;J! zGca&>f-s}`$