summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Jackson <[email protected]>2019-09-19 13:50:12 -0400
committerAdam Jackson <[email protected]>2019-09-19 20:50:01 -0400
commitb4fe0b3ffd825284aa57072c67a019fbc1bf4a1b (patch)
treed63475b141c6c4321c6aee87812dfe4341c82fee
parent317a88b9204d43d71531b0f7ff8d81b334642faa (diff)
glx: Avoid atof() when computing the server's GLX version
atof() is locale-dependent (sigh), which means 1.3 becomes 1.0 if the locale's decimal separator isn't a full-stop. Just use the protocol major/minor instead. This would be slightly broken if the server generically implements 1.3+ but a particular screen is only capable of less, but in practice no such servers exist. Gitlab: https://gitlab.freedesktop.org/mesa/mesa/issues/74 Reviewed-by: Eric Engestrom <[email protected]>
-rw-r--r--src/glx/glxext.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/glx/glxext.c b/src/glx/glxext.c
index 6e6525aeeae..59434431006 100644
--- a/src/glx/glxext.c
+++ b/src/glx/glxext.c
@@ -714,7 +714,8 @@ static GLboolean
LockDisplay(dpy);
psc->configs = NULL;
- if (atof(priv->serverGLXversion) >= 1.3) {
+ if (priv->majorVersion > 1 ||
+ (priv->majorVersion == 1 && priv->minorVersion >= 3)) {
GetReq(GLXGetFBConfigs, fb_req);
fb_req->reqType = priv->majorOpcode;
fb_req->glxCode = X_GLXGetFBConfigs;