Merge remote-tracking branch 'alanc/master'

This commit is contained in:
Keith Packard 2013-05-06 10:52:40 -07:00
commit 2746c68163
6 changed files with 23 additions and 7 deletions

View File

@ -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,

View File

@ -946,7 +946,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
&screen->fd, &driverName, &deviceName)) {
LogMessage(X_INFO,
"AIGLX: Screen %d is not DRI2 capable\n", pScreen->myNum);
return NULL;
goto handle_error;
}
screen->base.destroy = __glXDRIscreenDestroy;

View File

@ -228,5 +228,9 @@ dmxVDLRead(const char *filename)
break;
}
}
if (str != stdin)
fclose(str);
return entry;
}

View File

@ -561,8 +561,10 @@ xf86VTSwitch(void)
for (ih = InputHandlers; ih; ih = ih->next)
xf86EnableInputHandler(ih);
#ifdef XSERVER_PLATFORM_BUS
/* check for any new output devices */
xf86platformVTProbe();
#endif
OsReleaseSIGIO();
}

View File

@ -641,14 +641,16 @@ xf86SbusCmapLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices,
int i, index;
sbusCmapPtr cmap;
struct fbcmap fbcmap;
unsigned char *data = malloc(numColors * 3);
unsigned char *data;
cmap = SBUSCMAPPTR(pScrn->pScreen);
if (!cmap)
return;
fbcmap.count = 0;
fbcmap.index = indices[0];
fbcmap.red = data;
fbcmap.red = data = malloc(numColors * 3);
if (!data)
return;
fbcmap.green = data + numColors;
fbcmap.blue = fbcmap.green + numColors;
for (i = 0; i < numColors; i++) {

View File

@ -617,8 +617,10 @@ sparcPromPathname2Node(const char *pathName)
return 0;
strcpy(name, pathName);
name[i + 1] = 0;
if (name[0] != '/')
if (name[0] != '/') {
free(name);
return 0;
}
p = strchr(name + 1, '/');
if (p)
*p = 0;
@ -629,8 +631,10 @@ sparcPromPathname2Node(const char *pathName)
*regstr++ = 0;
else
regstr = p;
if (name + 1 == regstr)
if (name + 1 == regstr) {
free(name);
return 0;
}
promGetSibling(0);
i = promWalkPathname2Node(name + 1, regstr, promRootNode, 0);
free(name);