diff options
author | Alan Hourihane <alanh@vmware.com> | 2009-02-13 13:45:08 +0000 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2009-02-17 19:07:52 -0800 |
commit | 444127f9f408d2f517fdfab0092bd67b29073373 (patch) | |
tree | e2be733cb19d27e29e98722199179f8fc92d25ba /glx | |
parent | 4302a32391711ea86051c7e6d90cb018c79beec2 (diff) |
glx: fix retval checks when failures occur for drawable creation.
(cherry picked from commit a26c77ff432d2e85a2665fc36fca25143460c476)
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'glx')
-rw-r--r-- | glx/glxdri.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/glx/glxdri.c b/glx/glxdri.c index 090e7ef97..223b06e8b 100644 --- a/glx/glxdri.c +++ b/glx/glxdri.c @@ -647,7 +647,7 @@ __glXDRIscreenCreateContext(__GLXscreen *baseScreen, if (visual->vid == glxConfig->visualID) break; if (i == pScreen->numVisuals) - return GL_FALSE; + return NULL; context->hwContextID = FakeClientID(0); @@ -656,6 +656,9 @@ __glXDRIscreenCreateContext(__GLXscreen *baseScreen, context->hwContextID, &hwContext); __glXleaveServer(GL_FALSE); + if (!retval) + return NULL; + context->driContext = screen->legacy->createNewContext(screen->driScreen, config->driConfig, @@ -707,6 +710,11 @@ __glXDRIscreenCreateDrawable(__GLXscreen *screen, pDraw, &hwDrawable); __glXleaveServer(GL_FALSE); + if (!retval) { + xfree(private); + return NULL; + } + /* The last argument is 'attrs', which is used with pbuffers which * we currently don't support. */ |