--- a/glfw/wl_init.c +++ b/glfw/wl_init.c @@ -802,6 +802,7 @@ void _glfwPlatformTerminate(void) glfw_xkb_release(&_glfw.wl.xkb); glfw_dbus_terminate(&_glfw.wl.dbus); + glfw_wlc_destroy(); if (_glfw.wl.cursor.handle) { _glfw_dlclose(_glfw.wl.cursor.handle); @@ -810,7 +811,6 @@ void _glfwPlatformTerminate(void) if (_glfw.wl.cursorSurface) wl_surface_destroy(_glfw.wl.cursorSurface); - glfw_wlc_destroy(); if (_glfw.wl.subcompositor) wl_subcompositor_destroy(_glfw.wl.subcompositor); if (_glfw.wl.compositor)