summaryrefslogtreecommitdiffstats
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.tar.bz2
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)
lcd_write_cmd(R_WRITE_DATA_2_GRAM);
- dbop_write_data((fb_data*)lcd_framebuffer, LCD_WIDTH*LCD_HEIGHT);
+ dbop_write_data((fb_data*)FBADDR(0,0), LCD_WIDTH*LCD_HEIGHT);
}
/* Update a fraction of the display. */
@@ -460,7 +460,7 @@ void lcd_update_rect(int x, int y, int width, int height)
return;
/* nothing to draw? */
- if ((width <= 0) || (height <= 0) || (x >= LCD_WIDTH) ||
+ if ((width <= 0) || (height <= 0) || (x >= LCD_WIDTH) ||
(y >= LCD_HEIGHT) || (x + width <= 0) || (y + height <= 0))
return;
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 @@
/***************************************************************************
- * __________ __ ___.
- * Open \______ \ ____ ____ | | _\_ |__ _______ ___
- * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
- * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
- * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
- * \/ \/ \/ \/ \/
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
* $Id$
*
* Copyright (C) 2008 by Dave Chapman
@@ -167,9 +167,9 @@ int remote_getwidth(void) { return LCD_REMOTE_WIDTH; }
int remote_getheight(void) { return LCD_REMOTE_HEIGHT; }
#endif
-static inline bool backdrop_load(const char *filename, char* backdrop_buffer)
-{
- (void)filename; (void)backdrop_buffer; return true;
+static inline bool backdrop_load(const char *filename, char* backdrop_buffer)
+{
+ (void)filename; (void)backdrop_buffer; return true;
}
struct screen screens[NB_SCREENS] =
@@ -253,6 +253,7 @@ struct font* font_get(int font)
int main(int argc, char **argv)
{
+ int ret = 0;
int res;
int filearg = 1;
@@ -302,7 +303,8 @@ int main(int argc, char **argv)
if (!ext)
{
printf("Invalid extension\n");
- return 2;
+ ret = 2;
+ goto done;
}
ext++;
if (!strcmp(ext, "rwps") || !strcmp(ext, "rsbs") || !strcmp(ext, "rfms"))
@@ -321,7 +323,8 @@ int main(int argc, char **argv)
else
{
printf("Invalid extension\n");
- return 2;
+ ret = 2;
+ goto done;
}
wps_screen = &screens[screen];
@@ -330,12 +333,17 @@ int main(int argc, char **argv)
if (!res) {
printf("WPS parsing failure\n");
skin_error_format_message();
- return 3;
+ ret = 3;
+ goto done;
}
printf("WPS parsed OK\n\n");
if (wps_verbose_level>2)
skin_debug_tree(SKINOFFSETTOPTR(skin_buffer, wps.tree));
}
- return 0;
+
+done:
+ if (skin_buffer)
+ free(skin_buffer);
+ return ret;
}