diff --git a/.pick_status.json b/.pick_status.json index e41543f50d3..26da28d777c 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -31,7 +31,7 @@ "description": "glx: Assign unique serial number to GLXBadFBConfig error", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "e89e1f5049d3b78542fcd69b7d6106dd4bdafc39" }, diff --git a/src/glx/create_context.c b/src/glx/create_context.c index f89ceec30be..1c2bbb1cfd1 100644 --- a/src/glx/create_context.c +++ b/src/glx/create_context.c @@ -115,6 +115,11 @@ glXCreateContextAttribsARB(Display *dpy, GLXFBConfig config, #endif if (gc == NULL) { + /* Increment dpy->request in order to give a unique serial number to the error. + * This may break creating contexts on some video cards, if libx11 <1.7.4 is used. + * However, this fixes creating contexts (on some video cards) if libx11 >=1.7.4 is used. + */ + XNoOp(dpy); /* -1 isn't a legal XID, which is sort of the point, we've failed * before we even got to XID allocation. */