if (!cs)
goto error;
- cs->display = dpy;
- cs->window = parent ? parent->window : None;
+ if (parent) {
+ cs->display = parent->display;
+ cs->window = parent->window;
+ screen = DefaultScreen(parent->display);
+ }
+ else {
+ cs->display = dpy;
+ cs->window = None;
+ }
cs->visual = NULL;
cs->context = NULL;
cs->swapped_buffers = FALSE;
if (fbconfig_id == GLX_DONT_CARE)
goto choose_fbconfig;
- fbconfigs = glXGetFBConfigs(dpy, screen, &n_fbconfigs);
+ fbconfigs = glXGetFBConfigs(parent->display, screen, &n_fbconfigs);
if (!fbconfigs)
goto error;
/* Find out a GLXFBConfig compatible with the parent context */
for (n = 0; n < n_fbconfigs; n++) {
status = glXGetFBConfigAttrib(
- dpy,
+ parent->display,
fbconfigs[n],
GLX_FBCONFIG_ID, &val
);
else {
choose_fbconfig:
fbconfigs = glXChooseFBConfig(
- dpy,
+ cs->display,
screen,
fbconfig_attrs, &n_fbconfigs
);
n = 0;
}
- cs->visual = glXGetVisualFromFBConfig(dpy, fbconfigs[n]);
+ cs->visual = glXGetVisualFromFBConfig(cs->display, fbconfigs[n]);
cs->context = glXCreateNewContext(
- dpy,
+ cs->display,
fbconfigs[n],
GLX_RGBA_TYPE,
parent ? parent->context : NULL,