summaryrefslogtreecommitdiff
path: root/plugins/MirLua/src/m_toptoolbar.cpp
diff options
context:
space:
mode:
authorAlexander Lantsev <aunsane@gmail.com>2015-07-13 07:33:47 +0000
committerAlexander Lantsev <aunsane@gmail.com>2015-07-13 07:33:47 +0000
commit48aa58dc0d101f7f64a9b244b4dfb6751e9931e4 (patch)
tree31937e9b7fdeb1449cdf20afd867dcb679f901cb /plugins/MirLua/src/m_toptoolbar.cpp
parent78573b079bec4aa315c4e2b87883ef6a1622b221 (diff)
MirLua: OnTopToolBarLoaded returned to m_toptoolbar
git-svn-id: http://svn.miranda-ng.org/main/trunk@14548 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/MirLua/src/m_toptoolbar.cpp')
-rw-r--r--plugins/MirLua/src/m_toptoolbar.cpp22
1 files changed, 22 insertions, 0 deletions
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 }
};