diff --git a/platform/linuxbsd/x11/gl_manager_x11.cpp b/platform/linuxbsd/x11/gl_manager_x11.cpp index 41c8cd704b7..151730b9a28 100644 --- a/platform/linuxbsd/x11/gl_manager_x11.cpp +++ b/platform/linuxbsd/x11/gl_manager_x11.cpp @@ -137,6 +137,10 @@ Error GLManager_X11::_create_context(GLDisplay &gl_display) { ERR_FAIL_NULL_V(fbc, ERR_UNCONFIGURED); for (int i = 0; i < fbcount; i++) { + if (vi) { + XFree(vi); + vi = nullptr; + } vi = (XVisualInfo *)glXGetVisualFromFBConfig(x11_display, fbc[i]); if (!vi) { continue;