From 48aa58dc0d101f7f64a9b244b4dfb6751e9931e4 Mon Sep 17 00:00:00 2001 From: Alexander Lantsev Date: Mon, 13 Jul 2015 07:33:47 +0000 Subject: MirLua: OnTopToolBarLoaded returned to m_toptoolbar git-svn-id: http://svn.miranda-ng.org/main/trunk@14548 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/MirLua/src/m_toptoolbar.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'plugins/MirLua') diff --git a/plugins/MirLua/src/m_toptoolbar.cpp b/plugins/MirLua/src/m_toptoolbar.cpp index 14eb67ae76..71ecbb2b0b 100644 --- a/plugins/MirLua/src/m_toptoolbar.cpp +++ b/plugins/MirLua/src/m_toptoolbar.cpp @@ -90,11 +90,33 @@ static int lua_RemoveButton(lua_State *L) return 1; } +static int lua_OnTopToolBarLoaded(lua_State *L) +{ + if (!lua_isfunction(L, 1)) + { + lua_pushlightuserdata(L, NULL); + return 1; + } + + lua_pushvalue(L, 1); + int ref = luaL_ref(L, LUA_REGISTRYINDEX); + + HANDLE res = ::HookEventObjParam(ME_TTB_MODULELOADED, CMLua::HookEventObjParam, L, ref); + lua_pushlightuserdata(L, res); + + CMLua::Hooks.insert(res); + CMLua::HookRefs.insert(new HandleRefParam(L, res, ref)); + + return 1; +} + static luaL_Reg toptoolbarApi[] = { { "AddButton", lua_AddButton }, { "RemoveButton", lua_RemoveButton }, + { "OnTopToolBarLoaded", lua_OnTopToolBarLoaded }, + { NULL, NULL } }; -- cgit v1.2.3