diff --git a/apps/gui/bitmap/list-skinned.c b/apps/gui/bitmap/list-skinned.c index 672a1e90e3..028374cf12 100644 --- a/apps/gui/bitmap/list-skinned.c +++ b/apps/gui/bitmap/list-skinned.c @@ -165,7 +165,7 @@ bool skinlist_draw(struct screen *display, struct gui_synclist *list) wps.display = display; wps.data = listcfg[screen]->data; display_lines = skinlist_get_line_count(screen, list); - label = listcfg[screen]->label; + label = (char *)SKINOFFSETTOPTR(get_skin_buffer(wps.data), listcfg[screen]->label); display->set_viewport(parent); display->clear_viewport(); current_item = list->selected_item; diff --git a/apps/gui/list.h b/apps/gui/list.h index d9df008956..41bc4369d1 100644 --- a/apps/gui/list.h +++ b/apps/gui/list.h @@ -180,7 +180,7 @@ extern bool gui_synclist_do_button(struct gui_synclist * lists, #if defined(HAVE_LCD_BITMAP) && !defined(PLUGIN) struct listitem_viewport_cfg { struct wps_data *data; - char* label; + OFFSETTYPE(char *) label; int width; int height; int xmargin; diff --git a/apps/gui/skin_engine/skin_parser.c b/apps/gui/skin_engine/skin_parser.c index 8409f0ed8b..3899f605f3 100644 --- a/apps/gui/skin_engine/skin_parser.c +++ b/apps/gui/skin_engine/skin_parser.c @@ -577,7 +577,7 @@ static int parse_listitemviewport(struct skin_element *element, return -1; cfg->data = wps_data; cfg->tile = false; - cfg->label = get_param_text(element, 0); + cfg->label = PTRTOSKINOFFSET(skin_buffer, get_param_text(element, 0)); cfg->width = -1; cfg->height = -1; if (!isdefault(get_param(element, 1)))