glx: fix retval checks when failures occur for drawable creation.
This commit is contained in:
parent
a38ca0063c
commit
a26c77ff43
10
glx/glxdri.c
10
glx/glxdri.c
|
@ -647,7 +647,7 @@ __glXDRIscreenCreateContext(__GLXscreen *baseScreen,
|
||||||
if (visual->vid == glxConfig->visualID)
|
if (visual->vid == glxConfig->visualID)
|
||||||
break;
|
break;
|
||||||
if (i == pScreen->numVisuals)
|
if (i == pScreen->numVisuals)
|
||||||
return GL_FALSE;
|
return NULL;
|
||||||
|
|
||||||
context->hwContextID = FakeClientID(0);
|
context->hwContextID = FakeClientID(0);
|
||||||
|
|
||||||
|
@ -656,6 +656,9 @@ __glXDRIscreenCreateContext(__GLXscreen *baseScreen,
|
||||||
context->hwContextID, &hwContext);
|
context->hwContextID, &hwContext);
|
||||||
__glXleaveServer(GL_FALSE);
|
__glXleaveServer(GL_FALSE);
|
||||||
|
|
||||||
|
if (!retval)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
context->driContext =
|
context->driContext =
|
||||||
screen->legacy->createNewContext(screen->driScreen,
|
screen->legacy->createNewContext(screen->driScreen,
|
||||||
config->driConfig,
|
config->driConfig,
|
||||||
|
@ -707,6 +710,11 @@ __glXDRIscreenCreateDrawable(__GLXscreen *screen,
|
||||||
pDraw, &hwDrawable);
|
pDraw, &hwDrawable);
|
||||||
__glXleaveServer(GL_FALSE);
|
__glXleaveServer(GL_FALSE);
|
||||||
|
|
||||||
|
if (!retval) {
|
||||||
|
xfree(private);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
/* The last argument is 'attrs', which is used with pbuffers which
|
/* The last argument is 'attrs', which is used with pbuffers which
|
||||||
* we currently don't support. */
|
* we currently don't support. */
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user