Skip to content

Commit

Permalink
Fix "epoxy_glx_version" to handle the case when GLX is not active on …
Browse files Browse the repository at this point in the history
…the display.
  • Loading branch information
yaronct committed Sep 29, 2015
1 parent 7d1c96c commit b3b8bd9
Showing 1 changed file with 15 additions and 14 deletions.
29 changes: 15 additions & 14 deletions src/dispatch_glx.c
Original file line number Diff line number Diff line change
Expand Up @@ -54,22 +54,23 @@ epoxy_glx_version(Display *dpy, int screen)
int client_major, client_minor;
int server, client;
const char *version_string;
int ret;
int ret=0, sscanf_ret;

version_string = glXQueryServerString(dpy, screen, GLX_VERSION);
ret = sscanf(version_string, "%d.%d", &server_major, &server_minor);
assert(ret == 2);
server = server_major * 10 + server_minor;
if ((version_string = glXQueryServerString(dpy, screen, GLX_VERSION)))
{
sscanf_ret = sscanf(version_string, "%d.%d", &server_major, &server_minor);
assert(sscanf_ret == 2);
server = server_major * 10 + server_minor;
if ((version_string = glXGetClientString(dpy, GLX_VERSION)))
{
sscanf_ret = sscanf(version_string, "%d.%d", &client_major, &client_minor);
assert(sscanf_ret == 2);
client = client_major * 10 + client_minor;
ret = client <= server ? client : server;
}
}

version_string = glXGetClientString(dpy, GLX_VERSION);
ret = sscanf(version_string, "%d.%d", &client_major, &client_minor);
assert(ret == 2);
client = client_major * 10 + client_minor;

if (client < server)
return client;
else
return server;
return ret;
}

/**
Expand Down

0 comments on commit b3b8bd9

Please sign in to comment.