Commit 525ad7bf authored by Emmanuel Gil Peyrot's avatar Emmanuel Gil Peyrot
Browse files

Close the libwayland-cursor handle after destroying the cursor theme

Fixes a segfault on glfwTerminate().
parent eb7c9994
...@@ -827,39 +827,38 @@ int _glfwPlatformInit(void) ...@@ -827,39 +827,38 @@ int _glfwPlatformInit(void)
void _glfwPlatformTerminate(void) void _glfwPlatformTerminate(void)
{ {
_glfwTerminateEGL();
_glfwTerminateJoysticksLinux(); _glfwTerminateJoysticksLinux();
_glfwTerminateEGL();
if (_glfw.wl.egl.handle)
{
_glfw_dlclose(_glfw.wl.egl.handle);
_glfw.wl.egl.handle = NULL;
}
#ifdef HAVE_XKBCOMMON_COMPOSE_H #ifdef HAVE_XKBCOMMON_COMPOSE_H
if (_glfw.wl.xkb.composeState) if (_glfw.wl.xkb.composeState)
xkb_compose_state_unref(_glfw.wl.xkb.composeState); xkb_compose_state_unref(_glfw.wl.xkb.composeState);
#endif #endif
if (_glfw.wl.xkb.keymap) if (_glfw.wl.xkb.keymap)
xkb_keymap_unref(_glfw.wl.xkb.keymap); xkb_keymap_unref(_glfw.wl.xkb.keymap);
if (_glfw.wl.xkb.state) if (_glfw.wl.xkb.state)
xkb_state_unref(_glfw.wl.xkb.state); xkb_state_unref(_glfw.wl.xkb.state);
if (_glfw.wl.xkb.context) if (_glfw.wl.xkb.context)
xkb_context_unref(_glfw.wl.xkb.context); xkb_context_unref(_glfw.wl.xkb.context);
if (_glfw.wl.xkb.handle) if (_glfw.wl.xkb.handle)
{ {
_glfw_dlclose(_glfw.wl.xkb.handle); _glfw_dlclose(_glfw.wl.xkb.handle);
_glfw.wl.xkb.handle = NULL; _glfw.wl.xkb.handle = NULL;
} }
if (_glfw.wl.egl.handle)
{ if (_glfw.wl.cursorTheme)
_glfw_dlclose(_glfw.wl.egl.handle); wl_cursor_theme_destroy(_glfw.wl.cursorTheme);
_glfw.wl.egl.handle = NULL;
}
if (_glfw.wl.cursor.handle) if (_glfw.wl.cursor.handle)
{ {
_glfw_dlclose(_glfw.wl.cursor.handle); _glfw_dlclose(_glfw.wl.cursor.handle);
_glfw.wl.cursor.handle = NULL; _glfw.wl.cursor.handle = NULL;
} }
if (_glfw.wl.cursorTheme)
wl_cursor_theme_destroy(_glfw.wl.cursorTheme);
if (_glfw.wl.cursorSurface) if (_glfw.wl.cursorSurface)
wl_surface_destroy(_glfw.wl.cursorSurface); wl_surface_destroy(_glfw.wl.cursorSurface);
if (_glfw.wl.compositor) if (_glfw.wl.compositor)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment