diff --git a/src/modules/event/wrap_Event.cpp b/src/modules/event/wrap_Event.cpp index 051bc9e8b..d475281fd 100644 --- a/src/modules/event/wrap_Event.cpp +++ b/src/modules/event/wrap_Event.cpp @@ -25,6 +25,11 @@ #include "sdl/Event.h" +// Shove the wrap_Event.lua code directly into a raw string literal. +static const char event_lua[] = +#include "wrap_Event.lua" +; + namespace love { namespace event @@ -47,12 +52,6 @@ static int w_poll_i(lua_State *L) return 0; } -int w_poll(lua_State *L) -{ - lua_pushcclosure(L, &w_poll_i, 0); - return 1; -} - int w_pump(lua_State *L) { luax_catchexcept(L, [&]() { instance()->pump(); }); @@ -107,7 +106,7 @@ int w_quit(lua_State *L) static const luaL_Reg functions[] = { { "pump", w_pump }, - { "poll", w_poll }, + { "poll_i", w_poll_i }, { "wait", w_wait }, { "push", w_push }, { "clear", w_clear }, @@ -134,6 +133,11 @@ extern "C" int luaopen_love_event(lua_State *L) int ret = luax_register_module(L, w); + if (luaL_loadbuffer(L, (const char *)event_lua, sizeof(event_lua), "wrap_Event.lua") == 0) + lua_call(L, 0, 0); + else + lua_error(L); + return ret; } diff --git a/src/modules/event/wrap_Event.lua b/src/modules/event/wrap_Event.lua new file mode 100644 index 000000000..0e19e2984 --- /dev/null +++ b/src/modules/event/wrap_Event.lua @@ -0,0 +1,30 @@ +R"luastring"--( +-- DO NOT REMOVE THE ABOVE LINE. It is used to load this file as a C++ string. +-- There is a matching delimiter at the bottom of the file. + +--[[ +Copyright (c) 2006-2017 LOVE Development Team + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not +claim that you wrote the original software. If you use this software +in a product, an acknowledgment in the product documentation would be +appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be +misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +--]] + +function love.event.poll() + return love.event.poll_i +end + +-- DO NOT REMOVE THE NEXT LINE. It is used to load this file as a C++ string. +--)luastring"--"