summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Wilgus <wilgus.william@gmail.com>2020-10-26 15:32:37 -0400
committerWilliam Wilgus <wilgus.william@gmail.com>2020-10-26 15:50:42 -0400
commit299c2370756baeac5ca458859ae7c64ca462f8c8 (patch)
tree34c60892fab8aa24af662a509bd0c2631e1b9505
parent04e7bacc4c971f7ed90e15a475312b2b69774cb4 (diff)
downloadrockbox-299c2370756baeac5ca458859ae7c64ca462f8c8.tar.gz
rockbox-299c2370756baeac5ca458859ae7c64ca462f8c8.zip
'Fix RED e200 Framebuffer_viewport_rewrite
Free malloc in checkwps too Change-Id: I2b8fcbc94beb0644b643d3b7a9cb53bc26fc8a51
-rw-r--r--firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c4
-rw-r--r--tools/checkwps/checkwps.c34
2 files changed, 23 insertions, 15 deletions
diff --git a/firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c b/firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c
index 2c80f89ff7..f69ad48793 100644
--- a/firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c
+++ b/firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c
@@ -448,7 +448,7 @@ void lcd_update(void)
448 448
449 lcd_write_cmd(R_WRITE_DATA_2_GRAM); 449 lcd_write_cmd(R_WRITE_DATA_2_GRAM);
450 450
451 dbop_write_data((fb_data*)lcd_framebuffer, LCD_WIDTH*LCD_HEIGHT); 451 dbop_write_data((fb_data*)FBADDR(0,0), LCD_WIDTH*LCD_HEIGHT);
452} 452}
453 453
454/* Update a fraction of the display. */ 454/* Update a fraction of the display. */
@@ -460,7 +460,7 @@ void lcd_update_rect(int x, int y, int width, int height)
460 return; 460 return;
461 461
462 /* nothing to draw? */ 462 /* nothing to draw? */
463 if ((width <= 0) || (height <= 0) || (x >= LCD_WIDTH) || 463 if ((width <= 0) || (height <= 0) || (x >= LCD_WIDTH) ||
464 (y >= LCD_HEIGHT) || (x + width <= 0) || (y + height <= 0)) 464 (y >= LCD_HEIGHT) || (x + width <= 0) || (y + height <= 0))
465 return; 465 return;
466 466
diff --git a/tools/checkwps/checkwps.c b/tools/checkwps/checkwps.c
index a0e0e15962..932dc3884c 100644
--- a/tools/checkwps/checkwps.c
+++ b/tools/checkwps/checkwps.c
@@ -1,10 +1,10 @@
1/*************************************************************************** 1/***************************************************************************
2 * __________ __ ___. 2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/ 7 * \/ \/ \/ \/ \/
8 * $Id$ 8 * $Id$
9 * 9 *
10 * Copyright (C) 2008 by Dave Chapman 10 * Copyright (C) 2008 by Dave Chapman
@@ -167,9 +167,9 @@ int remote_getwidth(void) { return LCD_REMOTE_WIDTH; }
167int remote_getheight(void) { return LCD_REMOTE_HEIGHT; } 167int remote_getheight(void) { return LCD_REMOTE_HEIGHT; }
168#endif 168#endif
169 169
170static inline bool backdrop_load(const char *filename, char* backdrop_buffer) 170static inline bool backdrop_load(const char *filename, char* backdrop_buffer)
171{ 171{
172 (void)filename; (void)backdrop_buffer; return true; 172 (void)filename; (void)backdrop_buffer; return true;
173} 173}
174 174
175struct screen screens[NB_SCREENS] = 175struct screen screens[NB_SCREENS] =
@@ -253,6 +253,7 @@ struct font* font_get(int font)
253 253
254int main(int argc, char **argv) 254int main(int argc, char **argv)
255{ 255{
256 int ret = 0;
256 int res; 257 int res;
257 int filearg = 1; 258 int filearg = 1;
258 259
@@ -302,7 +303,8 @@ int main(int argc, char **argv)
302 if (!ext) 303 if (!ext)
303 { 304 {
304 printf("Invalid extension\n"); 305 printf("Invalid extension\n");
305 return 2; 306 ret = 2;
307 goto done;
306 } 308 }
307 ext++; 309 ext++;
308 if (!strcmp(ext, "rwps") || !strcmp(ext, "rsbs") || !strcmp(ext, "rfms")) 310 if (!strcmp(ext, "rwps") || !strcmp(ext, "rsbs") || !strcmp(ext, "rfms"))
@@ -321,7 +323,8 @@ int main(int argc, char **argv)
321 else 323 else
322 { 324 {
323 printf("Invalid extension\n"); 325 printf("Invalid extension\n");
324 return 2; 326 ret = 2;
327 goto done;
325 } 328 }
326 wps_screen = &screens[screen]; 329 wps_screen = &screens[screen];
327 330
@@ -330,12 +333,17 @@ int main(int argc, char **argv)
330 if (!res) { 333 if (!res) {
331 printf("WPS parsing failure\n"); 334 printf("WPS parsing failure\n");
332 skin_error_format_message(); 335 skin_error_format_message();
333 return 3; 336 ret = 3;
337 goto done;
334 } 338 }
335 339
336 printf("WPS parsed OK\n\n"); 340 printf("WPS parsed OK\n\n");
337 if (wps_verbose_level>2) 341 if (wps_verbose_level>2)
338 skin_debug_tree(SKINOFFSETTOPTR(skin_buffer, wps.tree)); 342 skin_debug_tree(SKINOFFSETTOPTR(skin_buffer, wps.tree));
339 } 343 }
340 return 0; 344
345done:
346 if (skin_buffer)
347 free(skin_buffer);
348 return ret;
341} 349}