Wayland: Fix glfwTerminate segfault on failed init

Closes #1172.
master
Emmanuel Gil Peyrot ago%!(EXTRA string=8 years) committed by Camilla Löwy
parent 2c1fc13ee4
commit 93186e4999
  1. 19
      src/wl_init.c

@ -775,15 +775,22 @@ void _glfwPlatformTerminate(void)
_glfwTerminateJoysticksLinux(); _glfwTerminateJoysticksLinux();
#ifdef HAVE_XKBCOMMON_COMPOSE_H #ifdef HAVE_XKBCOMMON_COMPOSE_H
xkb_compose_state_unref(_glfw.wl.xkb.composeState); if (_glfw.wl.xkb.composeState)
xkb_compose_state_unref(_glfw.wl.xkb.composeState);
#endif #endif
xkb_keymap_unref(_glfw.wl.xkb.keymap); if (_glfw.wl.xkb.keymap)
xkb_state_unref(_glfw.wl.xkb.state); xkb_keymap_unref(_glfw.wl.xkb.keymap);
xkb_context_unref(_glfw.wl.xkb.context); if (_glfw.wl.xkb.state)
xkb_state_unref(_glfw.wl.xkb.state);
if (_glfw.wl.xkb.context)
xkb_context_unref(_glfw.wl.xkb.context);
dlclose(_glfw.wl.xkb.handle); if (_glfw.wl.xkb.handle)
_glfw.wl.xkb.handle = NULL; {
_glfw_dlclose(_glfw.wl.xkb.handle);
_glfw.wl.xkb.handle = NULL;
}
if (_glfw.wl.cursorTheme) if (_glfw.wl.cursorTheme)
wl_cursor_theme_destroy(_glfw.wl.cursorTheme); wl_cursor_theme_destroy(_glfw.wl.cursorTheme);

Loading…
Cancel
Save