Remove global variable;

This commit is contained in:
bjorn 2016-09-17 18:15:47 -07:00
parent 32d7562d8e
commit 315475e5be
3 changed files with 6 additions and 7 deletions

View File

@ -3,7 +3,7 @@
#include <stdlib.h>
#include "util.h"
void initGlfw(GLFWerrorfun onError, GLFWwindowclosefun onClose) {
void initGlfw(GLFWerrorfun onError, GLFWwindowclosefun onClose, void* userPointer) {
glfwSetErrorCallback(onError);
if (!glfwInit()) {
@ -24,6 +24,7 @@ void initGlfw(GLFWerrorfun onError, GLFWwindowclosefun onClose) {
}
glfwSetWindowCloseCallback(window, onClose);
glfwSetWindowUserPointer(window, userPointer);
glfwMakeContextCurrent(window);
#ifdef WIN32

View File

@ -7,8 +7,6 @@
#include "lovr/headset.h"
#include "lovr/timer.h"
extern lua_State* L;
void lovrInit(lua_State* L) {
// lovr = {}
@ -123,6 +121,8 @@ void lovrOnGlfwError(int code, const char* description) {
void lovrOnClose(GLFWwindow* _window) {
if (_window == window) {
lua_State* L = (lua_State*) glfwGetWindowUserPointer(window);
// lovr.quit()
lua_getglobal(L, "lovr");
lua_getfield(L, -1, "quit");

View File

@ -1,13 +1,11 @@
#include "lovr.h"
#include "glfw.h"
lua_State* L;
int main(int argc, char** argv) {
L = luaL_newstate();
lua_State* L = luaL_newstate();
luaL_openlibs(L);
initGlfw(lovrOnGlfwError, lovrOnClose);
initGlfw(lovrOnGlfwError, lovrOnClose, L);
lovrInit(L);
lovrRun(L, argc > 1 ? argv[1] : NULL);