Avoid an X11 error in case the context creation fails, so we can avoid a
crash and pick it up in the upper layers, and display an error.
https://bugzilla.gnome.org/show_bug.cgi?id=746746
GLX_CONTEXT_FLAGS_ARB, flags,
None,
};
+ GLXContext res;
GdkX11GLContext *share_x11 = NULL;
if (share != NULL)
share_x11 = GDK_X11_GL_CONTEXT (share);
- return glXCreateContextAttribsARB (gdk_x11_display_get_xdisplay (display),
- config,
- share_x11 != NULL ? share_x11->glx_context : NULL,
- True,
- attrib_list);
+ gdk_x11_display_error_trap_push (display);
+
+ res = glXCreateContextAttribsARB (gdk_x11_display_get_xdisplay (display),
+ config,
+ share_x11 != NULL ? share_x11->glx_context : NULL,
+ True,
+ attrib_list);
+
+ if (gdk_x11_display_error_trap_pop (display))
+ return NULL;
+
+ return res;
}
static gboolean