summaryrefslogtreecommitdiff
path: root/src/glfw
diff options
context:
space:
mode:
authorsanine <sanine.not@pm.me>2023-03-13 12:29:18 -0500
committersanine <sanine.not@pm.me>2023-03-13 12:29:18 -0500
commit184a9517a619c0052aabd8ad6ab00ed0d2607e97 (patch)
treeae0bbc82be387255215e5f1cdc85fe5a2ca1fdff /src/glfw
parentcc7dfef17ffaa41a675364fb5f0561a13d6b0dba (diff)
fix null pointer errors
Diffstat (limited to 'src/glfw')
-rw-r--r--src/glfw/setup.h4
-rw-r--r--src/glfw/window.c8
2 files changed, 11 insertions, 1 deletions
diff --git a/src/glfw/setup.h b/src/glfw/setup.h
index b867627..3e5b482 100644
--- a/src/glfw/setup.h
+++ b/src/glfw/setup.h
@@ -416,6 +416,10 @@ H_GLFW_FUNCTIONS
X("PLATFORM_ERROR", GLFW_PLATFORM_ERROR) \
X("FORMAT_UNAVAILABLE", GLFW_FORMAT_UNAVAILABLE) \
X("NO_WINDOW_CONTEXT", GLFW_NO_WINDOW_CONTEXT) \
+ X("PRESS", GLFW_PRESS) \
+ X("RELEASE", GLFW_RELEASE) \
+ X("REPEAT", GLFW_REPEAT) \
+
#endif
diff --git a/src/glfw/window.c b/src/glfw/window.c
index 0199fb0..5922dde 100644
--- a/src/glfw/window.c
+++ b/src/glfw/window.c
@@ -88,6 +88,12 @@ int glfwCreateWindow_bind(lua_State *L)
GLFWwindow ** window = create_window(L);
*window = glfwCreateWindow(width, height, title, *monitor, *share);
+ if (*window == NULL) {
+ int code;
+ const char *err;
+ code = glfwGetError(&err);
+ return luaL_error(L, "failed to create window: %s [code %d]", err, code);
+ }
configure_window(window);
return 1;
}
@@ -113,7 +119,7 @@ int glfwWindowShouldClose_bind(lua_State *L)
int glfwSetWindowShouldClose_bind(lua_State *L)
{
GLFWwindow ** window = luaL_checkudata(L, 1, glfw_window_tname);
- int value = luaL_checkinteger(L, 2);
+ int value = lua_toboolean(L, 2);
glfwSetWindowShouldClose(*window, value);
return 0;
}