diff options
Diffstat (limited to 'apps/menu.c')
-rw-r--r-- | apps/menu.c | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/apps/menu.c b/apps/menu.c index e369f4d390..1dedc42a5c 100644 --- a/apps/menu.c +++ b/apps/menu.c | |||
@@ -237,12 +237,22 @@ static void talk_menu_item(const struct menu_item_ex *menu, | |||
237 | { | 237 | { |
238 | if (menu->submenus[sel]->flags&(MENU_DYNAMIC_DESC)) | 238 | if (menu->submenus[sel]->flags&(MENU_DYNAMIC_DESC)) |
239 | { | 239 | { |
240 | char buffer[80]; | 240 | int (*list_speak_item)(int selected_item, void * data) |
241 | str = menu->submenus[sel]->menu_get_name_and_icon-> | 241 | = menu->submenus[sel]->menu_get_name_and_icon-> |
242 | list_get_name(sel, menu->submenus[sel]-> | 242 | list_speak_item; |
243 | menu_get_name_and_icon-> | 243 | if(list_speak_item) |
244 | list_get_name_data, buffer); | 244 | list_speak_item(sel, menu->submenus[sel]-> |
245 | id = P2ID(str); | 245 | menu_get_name_and_icon-> |
246 | list_get_name_data); | ||
247 | else | ||
248 | { | ||
249 | char buffer[80]; | ||
250 | str = menu->submenus[sel]->menu_get_name_and_icon-> | ||
251 | list_get_name(sel, menu->submenus[sel]-> | ||
252 | menu_get_name_and_icon-> | ||
253 | list_get_name_data, buffer); | ||
254 | id = P2ID(str); | ||
255 | } | ||
246 | } | 256 | } |
247 | else | 257 | else |
248 | id = P2ID(menu->submenus[sel]->callback_and_desc->desc); | 258 | id = P2ID(menu->submenus[sel]->callback_and_desc->desc); |