From 4f8254f1ae74c9be3cb3153cc1e9c0604c103758 Mon Sep 17 00:00:00 2001 From: Adel Gadllah Date: Sun, 26 Jul 2015 11:27:00 +0200 Subject: [PATCH] winsys-glx: Add error traps in create_context Both create_gl3_context and glXCreateNewContext can fail with an X error. https://bugzilla.gnome.org/show_bug.cgi?id=742678 --- cogl/winsys/cogl-winsys-glx.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cogl/winsys/cogl-winsys-glx.c b/cogl/winsys/cogl-winsys-glx.c index ae35c6afe..44138732b 100644 --- a/cogl/winsys/cogl-winsys-glx.c +++ b/cogl/winsys/cogl-winsys-glx.c @@ -1075,6 +1075,8 @@ create_context (CoglDisplay *display, CoglError **error) COGL_NOTE (WINSYS, "Creating GLX Context (display: %p)", xlib_renderer->xdpy); + _cogl_xlib_renderer_trap_errors (display->renderer, &old_state); + if (display->renderer->driver == COGL_DRIVER_GL3) glx_display->glx_context = create_gl3_context (display, config); else @@ -1085,7 +1087,8 @@ create_context (CoglDisplay *display, CoglError **error) NULL, True); - if (glx_display->glx_context == NULL) + if (_cogl_xlib_renderer_untrap_errors (display->renderer, &old_state) || + glx_display->glx_context == NULL) { _cogl_set_error (error, COGL_WINSYS_ERROR, COGL_WINSYS_ERROR_CREATE_CONTEXT,