aboutsummaryrefslogtreecommitdiff
path: root/src/FbCommands.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/FbCommands.cc')
-rw-r--r--src/FbCommands.cc19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/FbCommands.cc b/src/FbCommands.cc
index 42ea669..5ddfa3a 100644
--- a/src/FbCommands.cc
+++ b/src/FbCommands.cc
@@ -31,7 +31,7 @@
31#include "MenuCreator.hh" 31#include "MenuCreator.hh"
32 32
33#include "FbTk/I18n.hh" 33#include "FbTk/I18n.hh"
34#include "FbTk/Luamm.hh" 34#include "FbTk/LuaUtil.hh"
35#include "FbTk/Theme.hh" 35#include "FbTk/Theme.hh"
36#include "FbTk/Menu.hh" 36#include "FbTk/Menu.hh"
37#include "FbTk/CommandParser.hh" 37#include "FbTk/CommandParser.hh"
@@ -559,6 +559,15 @@ REGISTER_UNTRUSTED_COMMAND_WITH_ARGS(lua, LuaCmd, void);
559 559
560namespace { 560namespace {
561 const char LuaCmds[] = "FbCommands::LuaCmd"; 561 const char LuaCmds[] = "FbCommands::LuaCmd";
562
563 void initLuaCmds(FbTk::Lua &l) {
564 l.checkstack(1);
565
566 l.newtable();
567 l.rawsetfield(lua::REGISTRYINDEX, LuaCmds);
568 }
569
570 FbTk::Lua::RegisterInitFunction register_init_lua_cmds(&initLuaCmds);
562} 571}
563 572
564LuaCmd::LuaCmd(const std::string &chunk) { 573LuaCmd::LuaCmd(const std::string &chunk) {
@@ -583,14 +592,6 @@ void LuaCmd::init(lua::state &l) {
583 l.checkstack(2); 592 l.checkstack(2);
584 593
585 l.rawgetfield(lua::REGISTRYINDEX, LuaCmds); { 594 l.rawgetfield(lua::REGISTRYINDEX, LuaCmds); {
586 if(l.isnil(-1)) {
587 l.pop();
588 l.newtable();
589
590 l.pushvalue(-1);
591 l.rawsetfield(lua::REGISTRYINDEX, LuaCmds);
592 }
593
594 l.pushvalue(-2); 595 l.pushvalue(-2);
595 m_ref = l.ref(-2); 596 m_ref = l.ref(-2);
596 } l.pop(); 597 } l.pop();