From c39f95465b9844f70f375f1690e0bf75c7ee7cc1 Mon Sep 17 00:00:00 2001 From: William Wilgus Date: Sun, 19 Jul 2020 13:42:04 -0400 Subject: do_menu pass internal synclist reference to callback keep running into the rigid nature of do_menu it isn't too bad when you don't need voice but once you do the fun awaits do_menu likes to talk on menu enter which is in a loop when you use do_menu I would like to move the processing to the callback TOO BAD you only get an action and the menu_item_ex struct you sent it when calling the function Change-Id: Iaefd0cc133435d675b7dd27a558c504d6ccb327a --- apps/plugins/lua/rocklib.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'apps/plugins/lua/rocklib.c') diff --git a/apps/plugins/lua/rocklib.c b/apps/plugins/lua/rocklib.c index 6b24984130..6820c30dc3 100644 --- a/apps/plugins/lua/rocklib.c +++ b/apps/plugins/lua/rocklib.c @@ -220,9 +220,12 @@ static lua_State* store_luastate(lua_State *L, bool bStore) return LStored; } -static int menu_callback(int action, const struct menu_item_ex *this_item) +static int menu_callback(int action, + const struct menu_item_ex *this_item, + struct gui_synclist *this_list) { (void) this_item; + (void) this_list; static int lua_ref = LUA_NOREF; lua_State *L = store_luastate(NULL, false); if(!L) @@ -259,7 +262,7 @@ RB_WRAP(do_menu) { /*lua callback function cb(action) return action end */ ref_lua = luaL_ref(L, LUA_REGISTRYINDEX); - menu_callback(ref_lua, NULL); + menu_callback(ref_lua, NULL, NULL); store_luastate(L, true); menu_desc.menu_callback = &menu_callback; } @@ -277,7 +280,7 @@ RB_WRAP(do_menu) { store_luastate(NULL, true); luaL_unref (L, LUA_REGISTRYINDEX, ref_lua); - menu_callback(LUA_NOREF, NULL); + menu_callback(LUA_NOREF, NULL, NULL); } lua_pushinteger(L, result); -- cgit v1.2.3