summaryrefslogtreecommitdiff
path: root/glx
diff options
context:
space:
mode:
authorAlan Hourihane <alanh@vmware.com>2009-02-13 13:45:08 +0000
committerKeith Packard <keithp@keithp.com>2009-02-17 19:07:52 -0800
commit444127f9f408d2f517fdfab0092bd67b29073373 (patch)
treee2be733cb19d27e29e98722199179f8fc92d25ba /glx
parent4302a32391711ea86051c7e6d90cb018c79beec2 (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.c10
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. */