aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/glx/glxdri.c
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/glx/glxdri.c')
-rw-r--r--xorg-server/glx/glxdri.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/xorg-server/glx/glxdri.c b/xorg-server/glx/glxdri.c
index a997e2f8a..1ac683978 100644
--- a/xorg-server/glx/glxdri.c
+++ b/xorg-server/glx/glxdri.c
@@ -645,8 +645,10 @@ __glXDRIscreenCreateContext(__GLXscreen * baseScreen,
for (i = 0; i < pScreen->numVisuals; i++, visual++)
if (visual->vid == glxConfig->visualID)
break;
- if (i == pScreen->numVisuals)
+ if (i == pScreen->numVisuals) {
+ free(context);
return NULL;
+ }
context->hwContextID = FakeClientID(0);
@@ -655,8 +657,10 @@ __glXDRIscreenCreateContext(__GLXscreen * baseScreen,
context->hwContextID, &hwContext);
__glXleaveServer(GL_FALSE);
- if (!retval)
+ if (!retval) {
+ free(context);
return NULL;
+ }
context->driContext = screen->legacy->createNewContext(screen->driScreen, config->driConfig, 0, /* render type */
driShare,
@@ -885,7 +889,7 @@ glxDRILeaveVT(ScrnInfoPtr scrn)
__GLXDRIscreen *screen = (__GLXDRIscreen *)
glxGetScreen(xf86ScrnToScreen(scrn));
- LogMessage(X_INFO, "AIGLX: Suspending AIGLX clients for VT switch\n");
+ LogMessageVerbSigSafe(X_INFO, -1, "AIGLX: Suspending AIGLX clients for VT switch\n");
glxSuspendClients();