diff --git a/apps/gui/skin_engine/skin_parser.c b/apps/gui/skin_engine/skin_parser.c index 49373eca32..d0466de812 100644 --- a/apps/gui/skin_engine/skin_parser.c +++ b/apps/gui/skin_engine/skin_parser.c @@ -2058,6 +2058,8 @@ static int skin_element_callback(struct skin_element* element, void* data) sb_skin_has_title(curr_screen); #endif break; +#endif +#if (LCD_DEPTH > 1) || (defined(HAVE_REMOTE_LCD) && (LCD_REMOTE_DEPTH > 1)) case SKIN_TOKEN_DRAWRECTANGLE: function = parse_drawrectangle; break; diff --git a/apps/gui/skin_engine/skin_render.c b/apps/gui/skin_engine/skin_render.c index 7ceb0bce17..0a1759d91a 100644 --- a/apps/gui/skin_engine/skin_render.c +++ b/apps/gui/skin_engine/skin_render.c @@ -191,11 +191,15 @@ static bool do_non_text_tags(struct gui_wps *gwps, struct skin_draw_info *info, else #endif { +#if LCD_DEPTH > 1 unsigned backup = vp->fg_pattern; vp->fg_pattern = rect->start_colour; +#endif gwps->display->fillrect(rect->x, rect->y, rect->width, rect->height); +#if LCD_DEPTH > 1 vp->fg_pattern = backup; +#endif } } break;