diff --git a/cogl/winsys/cogl-winsys-egl-x11.c b/cogl/winsys/cogl-winsys-egl-x11.c index 0e935d9b1..0591ed8d4 100644 --- a/cogl/winsys/cogl-winsys-egl-x11.c +++ b/cogl/winsys/cogl-winsys-egl-x11.c @@ -641,7 +641,7 @@ _cogl_winsys_egl_context_created (CoglDisplay *display, } } - XFree (xvisinfo); + xlib_renderer->xvisinfo = xvisinfo; if (!_cogl_winsys_egl_make_current (display, egl_display->dummy_surface, diff --git a/cogl/winsys/cogl-winsys-glx.c b/cogl/winsys/cogl-winsys-glx.c index 34fb0711f..a37eb098d 100644 --- a/cogl/winsys/cogl-winsys-glx.c +++ b/cogl/winsys/cogl-winsys-glx.c @@ -1159,7 +1159,7 @@ create_context (CoglDisplay *display, CoglError **error) dummy_drawable, glx_display->glx_context); - XFree (xvisinfo); + xlib_renderer->xvisinfo = xvisinfo; if (_cogl_xlib_renderer_untrap_errors (display->renderer, &old_state)) {