diff options
Diffstat (limited to 'src/FbCommands.cc')
-rw-r--r-- | src/FbCommands.cc | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/FbCommands.cc b/src/FbCommands.cc index 3ece374..d52084e 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 | ||
560 | namespace { | 560 | namespace { |
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 | ||
564 | LuaCmd::LuaCmd(const std::string &chunk) { | 573 | LuaCmd::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(); |